Public methods
Method new()
Configure and create a new IMAP connection.
Usage
ImapCon$new(
url,
username,
password = NULL,
xoauth2_bearer = NULL,
use_ssl = TRUE,
verbose = FALSE,
buffersize = 16000,
timeout_ms = 5000,
...
)
Arguments
urlA character string containing the IMAP server address
usernameA character string containing the username.
passwordA character string containing the user's password.
xoauth2_bearerA character string containing the oauth2 bearer token.
use_sslA logical indicating the use or not of Secure Sockets Layer
encryption when connecting to the IMAP server. Default is TRUE.
verboseIf FALSE, mutes the flow of information between the
server and the client. Default is FALSE.
buffersizeThe size in bytes for the receive buffer. Default is
16000 bytes or 16kb, which means it will use the libcurl's default value.
According to the libcurl's documentation, the maximum buffersize is 512kb
(or 512000 bytes), but any number passed to buffersize is treated
as a request, not an order.
timeout_msTime in milliseconds (ms) to wait for the execution or
re-execution of a command. Default is 5000ms (or 5 seconds). If a first
execution is unsuccessful, an error handler in each function (depending on
the retries value), will try to reconnect or re-execute the command.
...Further curl parameters (see curl::curl_options) that
can be used with the IMAP protocol. Only for advanced users.
Returns
A new `ImapCon` object.
Method reset_url()
Reset the previously informed url
Usage
ImapCon$reset_url(url)
Arguments
urlA character string containing a new url to be set.
Method reset_username()
Reset the previously informed username
Usage
ImapCon$reset_username(username)
Arguments
usernameA character string containing a new username to be set.
Method reset_ssl()
Reset the previously informed use_ssl parameter
Usage
ImapCon$reset_ssl(use_ssl)
Arguments
use_sslA logical indicating the use or not of Secure Sockets Layer
encryption when connecting to the IMAP server. Default is TRUE.
Method reset_verbose()
Reset the previously informed verbose parameter
Usage
ImapCon$reset_verbose(verbose)
Arguments
verboseIf FALSE, mutes the flow of information between the
server and the client.
Method reset_buffersize()
Reset the previously informed buffersize parameter
Usage
ImapCon$reset_buffersize(buffersize)
Arguments
buffersizeThe size in bytes for the receive buffer. Default is
16000 bytes or 16kb, which means it will use the libcurl's default value.
According to the libcurl's documentation, the maximum buffersize is 512kb
(or 512000 bytes), but any number passed to buffersize is treated
as a request, not an order.
Method reset_timeout_ms()
Reset the previously informed buffersize parameter
Usage
ImapCon$reset_timeout_ms(timeout_ms)
Arguments
timeout_msTime in milliseconds (ms) to wait for the execution or
re-xecution of a command. Default is 5000ms (or 5 seconds). If a first
execution is unsuccessful, an error handler in each function (depending on
the retries value), will try to reconnect or re-execute the command.
Method reset_password()
Reset the previously informed password
Usage
ImapCon$reset_password(password)
Arguments
passwordA character string containing the user's password.
xoauth2_bearerA character string containing the oauth2 bearer token.
Method reset_xoauth2_bearer()
Reset the previously informed oauth2 bearer token
Usage
ImapCon$reset_xoauth2_bearer(xoauth2_bearer)
Arguments
xoauth2_bearerA character string containing the oauth2 bearer token.
Method list_server_capabilities()
List the server's IMAP capabilities.
Usage
ImapCon$list_server_capabilities(retries = 1)
Arguments
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A character vector containing the server's IMAP capabilities.
Examples
\dontrun{
cap <- con$list_server_capabilities()
cap
}
Method list_mail_folders()
List mail folders in a mailbox.
Usage
ImapCon$list_mail_folders(retries = 1)
Arguments
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A list containing the mail folder names and their inherent
structure.
Examples
\dontrun{
folders <- con$list_mail_folders()
folders
}
Method select_folder()
Select a mail folder.
Usage
ImapCon$select_folder(name, mute = FALSE, retries = 1)
Arguments
nameA string containing the name of an existing mail folder on the
user's mailbox.
muteA logical. If TRUE, mutes the confirmation message
when the command is successfully executed. Default is FALSE.
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A list containing the mail folder names and their inherent
structure.
Examples
\dontrun{
con$select_mail_folder(name = "INBOX")
}
Method examine_folder()
Examine the number of messages in a mail folder.
Usage
ImapCon$examine_folder(name = NULL, retries = 1)
Arguments
nameA character string containing the name of an existing
mail folder on the user's mailbox. If no name is passed, the command
will be executed using the previously selected mail folder name.
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A vector (with names "EXISTS" and "RECENT")
containing the number of messages in each category.
Examples
\dontrun{
con$select_folder(name = "INBOX")
con$examine_folder()# or directly:
con$examine_folder("Sent")
}
Method create_folder()
Create a new mail folder.
Usage
ImapCon$create_folder(name, mute = FALSE, retries = 1)
Arguments
nameA string containing the name of the new mail folder to be
created.
muteA logical. If TRUE, mutes the confirmation message
when the command is successfully executed. Default is FALSE.
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
TRUE in case the operation is successful.
Examples
\dontrun{
con$create_folder(name = "New Folder Name")
}
Method rename_folder()
Rename a mail folder.
Usage
ImapCon$rename_folder(
name = NULL,
new_name,
reselect = TRUE,
mute = FALSE,
retries = 1
)
Arguments
nameA string containing the name of the new mail folder to be
renamed. If no name is passed, the command will be executed using the
previously selected mail folder name.
new_nameA string containing the new name to be assigned.
reselectA logical. If TRUE, calls
select_folder(name = to_folder) under the hood before returning
the output. Default is TRUE.
muteA logical. If TRUE, mutes the confirmation message
when the command is successfully executed. Default is FALSE.
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
TRUE in case the operation is successful.
Examples
\dontrun{
con$select_folder(name = "Folder A")
con$rename_folder(new_name = "Folder B")
# or directly:
con$rename_folder(name = "Folder A", new_name = "Folder B")
}
Method list_flags()
List flags in a selected mail folder
Usage
ImapCon$list_flags(retries = 1)
Arguments
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
TRUE in case the operation is successful.
Examples
\dontrun{
con$select_folder(name = "INBOX")
con$list_flags()
}
Method search()
Execute a custom search
Usage
ImapCon$search(
request,
negate = FALSE,
use_uid = FALSE,
esearch = FALSE,
retries = 1
)
Arguments
requestA string directly specifying what to search or
constructed by a combination of relational-operator-helper-functions OR
and AND, and criteria helper functions such as
before, since, on,
sent_before, sent_since, sent_on,
flag, string, smaller_than,
larger_than, younger_than, or
younger_than.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERIA". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A list containing the flags (character vector),
the permanent flags (character vector), and an indication if custom
flags are allowed by the server (logical vector).
Examples
\dontrun{
con$select_folder(name = "INBOX")
# ex1
con$search(OR(before(date_char = "17-Apr-2015"),
string(expr = "John", where = "FROM")))# ex2
con$search(AND(smaller_than(size = "512000"),
string(expr = "John", where = "FROM"),
string(expr = "@ksu.edu", where = "CC")))
}
Method search_larger_than()
Search by size (LARGER)
Usage
ImapCon$search_larger_than(
size,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
sizeAn integer specifying the number of seconds to be used as the
search criterion.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
# search for messages with size larger than 512Kb
con$search_larger_than(size = 512000))
}
Method search_smaller_than()
Search by size (SMALLER)
Usage
ImapCon$search_smaller_than(
size,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
sizeAn integer specifying the number of seconds to be used as the
search criterion.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for messages with size smaller than 512Kb
con$search_smaller_than(size = 512000))
}
Method search_before()
Search by internal date (BEFORE)
Usage
ImapCon$search_before(
date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for messages with date before "02-Jan-2020", presenting the
# .. results as unique identifiers (UID)
con$search_before(date = "02-Jan-2020", use_uid = TRUE)
}
Method search_since()
Search by internal date (SINCE)
Usage
ImapCon$search_since(
date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
POSIX* like objects, since IMAP servers use this unusual date format.
POSIX* like, since IMAP servers like this not so common date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for messages with date since "02-Jan-2020", presenting the
# .. results as unique identifiers (UID)
con$search_since(date = "02-Jan-2020", use_uid = TRUE)
}
Method search_on()
Search by internal date (ON)
Usage
ImapCon$search_on(
date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for messages received on date "02-Jan-2020", presenting the
#... results as unique identifiers (UID)
con$search_on(date = "02-Jan-2020", use_uid = TRUE)
}
Method search_period()
Search by internal date (Period)
Usage
ImapCon$search_period(
since_date_char,
before_date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
since_date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
before_date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for all messages in the mail folder, EXCEPT (negate = TRUE) by
#... those received between the dates "02-Jan-2020" and "22-Mar-2020"
con$search_period(since_date_char = "02-Jan-2020",
before_date_char = "22-Mar-2020",
negate = TRUE))
}
Method search_sent_before()
Search by origination (RFC-2822 Header) date (SENT BEFORE)
Usage
ImapCon$search_sent_before(
date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
# search for messages with date before "02-Jan-2020", presenting the
# .. results as unique identifiers (UID)
con$search_sent_before(date = "02-Jan-2020", use_uid = TRUE)
}
Method search_sent_since()
Search by origination (RFC-2822 Header) date (SENT SINCE)
Usage
ImapCon$search_sent_since(
date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
# search for messages with date before "02-Jan-2020", presenting the
# .. results as unique identifiers (UID)
con$search_sent_since(date = "02-Jan-2020", use_uid = TRUE)
}
Method search_sent_on()
Search by origination (RFC-2822 Header) date (SENT ON)
Usage
ImapCon$search_sent_on(
date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for messages received on date "02-Jan-2020", presenting the
#... results as unique identifiers (UID)
con$search_sent_on(date = "02-Jan-2020", use_uid = TRUE)
}
Method search_sent_period()
Search by origination (RFC-2822 Header) date (SENT Period)
Usage
ImapCon$search_sent_period(
since_date_char,
before_date_char,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
since_date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
before_date_charA character string with format "DD-Mon-YYYY", e.g.
"01-Apr-2019". We opted for not to use Date or POSIX* like
objects, since IMAP servers use this unusual date format.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for all messages in the mail folder, EXCEPT (negate = TRUE) by
#... those received between the dates "02-Jan-2020" and "22-Mar-2020"
con$search_sent_period(since_date_char = "02-Jan-2020",
before_date_char = "22-Mar-2020",
negate = TRUE))
}
Method search_flag()
Search by flag(s)
Usage
ImapCon$search_flag(
name,
negate = FALSE,
use_uid = FALSE,
esearch = FALSE,
retries = 1
)
Arguments
nameA string containing one or more flags to search for. Use
ImapCon$list_flags() to list the flags
in a selected mail folder.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for all messages in the mail folder that are marked as "SEEN" AND
#.. "ANSWERED"
con$search_flag(name = c("SEEN", "ANSWERED"))
}
Method search_older_than()
Search WITHIN a specific time (OLDER)
Usage
ImapCon$search_older_than(
seconds,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
secondsAn integer specifying the number of seconds to be used as
the search criterion.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for all messages received in the last hour (not older than 3600 seconds)
con$search_older_than(seconds = 3600, negate = TRUE)
}
Method search_younger_than()
Search WITHIN a specific time (YOUNGER)
Usage
ImapCon$search_younger_than(
seconds,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
secondsAn integer specifying the number of seconds to be used as
the search criterion.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for all messages received in the last hour (younger than 3600 seconds)
con$search_younger_than(seconds = 3600)
}
Method search_string()
Search by string or expression
Usage
ImapCon$search_string(
expr,
where,
negate = FALSE,
use_uid = FALSE,
flag = NULL,
esearch = FALSE,
retries = 1
)
Arguments
exprA character string specifying the word or expression to search
for in messages.
whereA mandatory character string specifying in which
message's Section or Header Field to search for the provided string.
negateIf TRUE, negates the search and seeks for "NOT SEARCH
CRITERION". Default is FALSE.
use_uidDefault is FALSE. In this case, results will be
presented as message sequence numbers. A message sequence number is a
message's relative position to the oldest message in a mail folder. It may
change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier,
and results are presented as such. UIDs are always the same during the
life cycle of a message in a mail folder.
flagAn optional argument that sets one or more flags as an additional
filter to the search. Use ImapCon$list_flags()
to list the flags in a selected mail folder. Default is NULL.
esearchA logical. Default is FALSE. If the IMAP server has
ESEARCH capability, it can be used to optimize search results. It
will condense the results: instead of writing down the whole sequences of messages'
ids, such as {1 2 3 4 5}, it will be presented as {1:5},
which decreases transmission costs. This argument can be used along with
buffersize to avoid results stripping. Check if your IMAP server
supports ESEARCH with
ImapCon$list_server_capabilities().
retriesNumber of attempts to connect and execute the command.
Default is 1.
Returns
A numeric vector containing the message ids.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# search for all messages received in the last hour (younger than 3600 seconds)
con$search_string(expr = "@k-state.edu", where = "FROM")
}
Method fetch_body()
Fetch message body (message's full content)
Usage
ImapCon$fetch_body(
msg_id,
use_uid = FALSE,
peek = TRUE,
partial = NULL,
write_to_disk = FALSE,
keep_in_mem = TRUE,
mute = FALSE,
retries = 1
)
Arguments
msg_idA numeric vector containing one or more message ids.
use_uidDefault is FALSE. In this case, the operation will
be performed using message sequence numbers. A message sequence number
is a message's relative position to the oldest message in a mail folder.
It may change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier.
UIDs are always the same during the life cycle of a message in a mail folder.
peekIf TRUE, it does not mark messages as "read" after
fetching. Default is TRUE.
partialNULL or a character string with format
"startchar.endchar" indicating the size (in characters) of a message slice
to fetch. Default is NULL, which will fetch the full specified content.
write_to_diskIf TRUE, writes the fetched content of each message
to a text file in a local folder inside the working directory, also
returning the results with invisible(). Default is FALSE.
keep_in_memIf TRUE, keeps a copy of each fetch result while
the operation is being performed with write_to_disk = TRUE. Default
is FALSE, and it can only be set TRUE when
write_to_disk = TRUE.
muteA logical. It is only effective when write_to_disk = TRUE
and keep_in_mem = FALSE. It Provides a confirmation message if the
command is successfully executed. Default is FALSE.
retriesNumber of attempts to connect and execute the command. Default
is 1.
Returns
A list with the fetch contents or a logical if
write_to_disk = TRUE and keep_in_mem = FALSE.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# do a search and fetch the results (saving to disk) using the pipe
con$search_string(expr = "@k-state.edu", where = "FROM") %>%
con$fetch_body(write_to_disk = TRUE, keep_in_mem = FALSE)# or using a traditional approach
res <- con$search_string(expr = "@k-state.edu", where = "FROM")
con$fetch_body(msg = res, write_to_disk = TRUE, keep_in_mem = FALSE)
}
Method fetch_header()
Fetch message header
Usage
ImapCon$fetch_header(
msg_id,
use_uid = FALSE,
fields = NULL,
negate_fields = FALSE,
peek = TRUE,
partial = NULL,
write_to_disk = FALSE,
keep_in_mem = TRUE,
mute = FALSE,
retries = 1
)
Arguments
msg_idA numeric vector containing one or more message ids.
use_uidDefault is FALSE. In this case, the operation will
be performed using message sequence numbers. A message sequence number
is a message's relative position to the oldest message in a mail folder.
It may change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier.
UIDs are always the same during the life cycle of a message in a mail folder.
fieldsAn optional character vector specifying which field(s)
will be fetched from the message's header. If none is specified, it will
fetch the full header.
negate_fieldsIf TRUE, negates the operation and seeks for
"NOT in the field". Default is FALSE.
peekIf TRUE, it does not mark messages as "read" after
fetching. Default is TRUE.
partialNULL or a character string with format
"startchar.endchar" indicating the size (in characters) of a message slice
to fetch. Default is NULL, which will fetch the full specified content.
write_to_diskIf TRUE, writes the fetched content of each message
to a text file in a local folder inside the working directory, also
returning the results with invisible(). Default is FALSE.
keep_in_memIf TRUE, keeps a copy of each fetch result while
the operation is being performed with write_to_disk = TRUE. Default
is FALSE, and it can only be set TRUE when
write_to_disk = TRUE.
muteA logical. It is only effective when write_to_disk = TRUE
and keep_in_mem = FALSE. It Provides a confirmation message if the
command is successfully executed. Default is FALSE.
retriesNumber of attempts to connect and execute the command. Default
is 1.
Returns
A list with the fetch contents or a logical if
write_to_disk = TRUE and keep_in_mem = FALSE.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# do a search and fetch the results (also saving to disk) using the pipe
out <- con$search_string(expr = "@k-state.edu", where = "CC") %>%
con$fetch_header()# or using a traditional approach
res <- con$search_string(expr = "@k-state.edu", where = "CC")
out <- con$fetch_header()
}
Method fetch_metadata()
Fetch message metadata
Usage
ImapCon$fetch_metadata(
msg_id,
use_uid = FALSE,
metadata = NULL,
write_to_disk = FALSE,
keep_in_mem = TRUE,
mute = FALSE,
retries = 1
)
Arguments
msg_idA numeric vector containing one or more message ids.
use_uidDefault is FALSE. In this case, the operation will
be performed using message sequence numbers. A message sequence number
is a message's relative position to the oldest message in a mail folder.
It may change after deleting or moving messages. If a message is deleted,
sequence numbers are reordered to fill the gap. If TRUE, the
command will be performed using the "UID" or unique identifier.
UIDs are always the same during the life cycle of a message in a mail folder.
metadataAn optional character vector specifying one or more
items of the metadata of a message to fetch. See metadata_options.
write_to_diskIf TRUE, writes the fetched content of each message
to a text file in a local folder inside the working directory, also
returning the results with invisible(). Default is FALSE.
keep_in_memIf TRUE, keeps a copy of each fetch result while
the operation is being performed with write_to_disk = TRUE. Default
is FALSE, and it can only be set TRUE when
write_to_disk = TRUE.
muteA logical. It is only effective when write_to_disk = TRUE
and keep_in_mem = FALSE. It Provides a confirmation message if the
command is successfully executed. Default is FALSE.
retriesNumber of attempts to connect and execute the command. Default
is 1.
peekIf TRUE, it does not mark messages as "read" after
fetching. Default is TRUE.
partialNULL or a character string with format
"startchar.endchar" indicating the size (in characters) of a message slice
to fetch. Default is NULL, which will fetch the full specified content.
Returns
A list with the fetch contents or a logical if
write_to_disk = TRUE and keep_in_mem = FALSE.
Examples
\dontrun{
con$select_folder(name = "INBOX")
# do a search and fetch the results using the pipe
out <- con$search_string(expr = "@k-state.edu", where = "FROM") %>%
con$fetch_metadata()# or using a traditional approach
res <- con$search_string(expr = "@k-state.edu", where = "FROM")
out <- con$fetch_metadata(msg = res)
}
Method fetch_text()
Fetch message text
Usage
ImapCon$fetch_text(
msg_id,
use_uid = FALSE,
peek = TRUE,
partial = NULL,
write_to_disk = FALSE,
keep_in_mem = TRUE,
mute = FALSE,
base64_decode = FALSE,
retries = 1
)
Arguments
msg_idA numeric vector containing one or more message ids.
use_uidDefault is FALSE. In this case, the operation will
be performed using message sequence numbers. A message sequence number
is a message's relative position to the oldest message in a mail folder.
It may change after deleting or moving messages. If a message