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.