3.4 KiB
IMAP Module
Since | Origin / Contributor | Maintainer | Source |
---|---|---|---|
2015-03-12 | AllAboutEE | AllAboutEE | imap.lua |
This Lua module provides a simple implementation of an IMAP 4rev1 protocol that can be used to read e-mails.
Require
imap = require("imap.lua")
Release
imap = nil
package.loaded["imap"] = nil
imap.response_processed()
Function used to check if IMAP command was processed.
Syntax
imap.response_processed()
Parameters
None
Returns
The response process status of the last IMAP command sent. If return value is true
it means the command was processed.
imap.config()
Initiates the IMAP settings.
Syntax
imap.config(username, password, tag, [debug])
Parameters
username
: IMAP username. For most e-mail providers e-mail address is used as username.password
: IMAP password.tag
: IMAP tag. With current implementation any tag like "t1" should work.debug
: (boolean) if set to true entire conversation between the ESP8266 and IMAP server will be shown. Default setting is false.
Returns
nil
imap.login()
Logs into a new email session.
Syntax
imap.login(socket)
Parameters
socket
: IMAP TCP socket object created usingnet.createConnection
Returns
nil
imap.get_most_recent_num()
Function to check the most recent email number. Should only be called after examine
function.
Syntax
imap.get_most_recent_num()
Parameters
None
Returns
The most recent email number.
imap.examine()
IMAP examines the given mailbox/folder. Sends the IMAP EXAMINE command.
Syntax
imap.examine(socket, mailbox)
Parameters
socket
: IMAP TCP socket object created usingnet.createConnection
mailbox
: E-mail folder name to examine like example"INBOX"
Returns
nil
imap.get_header()
Function that gets the last fetched header field.
Syntax
imap.get_header()
Parameters
None
Returns
The last fetched header field.
imap.fetch_header()
Fetches an e-mails header field e.g. SUBJECT, FROM, DATE.
Syntax
imap.fetch_header(socket, msg_number, field)
Parameters
socket
: IMAP TCP socket object created usingnet.createConnection
msg_number
: The email number to read e.g. 1 will read fetch the latest/newest emailfield
: A header field such as SUBJECT, FROM, or DATE
Returns
nil
imap.get_body()
Function to get the last email read's body.
Syntax
imap.get_body()
Parameters
None
Returns
The last email read's body.
imap.fetch_body_plain_text()
Sends the IMAP command to fetch a plain text version of the email's body.
Syntax
imap.fetch_body_plain_text(socket, msg_number)
Parameters
socket
: IMAP TCP socket object created usingnet.createConnection
msg_number
: The email number to obtain e.g. 1 will obtain the latest email.
Returns
nil
imap.logout()
Sends the IMAP command to logout of the email session.
Syntax
imap.logout(socket)
Parameters
socket
: IMAP TCP socket object created usingnet.createConnection
Returns
nil
Example
Example use of imap
module can be found in read_email_imap.lua file.