Here’s an example method that’s more complex:
(nnimap "imap.gmail.com" (nnimap-inbox "INBOX") (nnimap-split-methods default) (nnimap-expunge t) (nnimap-stream ssl))
The address of the server, like ‘imap.gmail.com’.
Username to use for authentication to the IMAP server. This corresponds to the value of the ‘login’ token in your ~/.authinfo file. Set this variable if you want to access multiple accounts from the same IMAP server.
If the server uses a non-standard port, that can be specified here. A
typical port would be
nnimap should connect to the server. Possible values are:
This is the default, and this first tries the
ssl setting, and
then tries the
This uses standard TLS/SSL connections.
Non-encrypted and unsafe straight socket connection, but will upgrade to encrypted STARTTLS if both Emacs and the server supports it.
Encrypted STARTTLS over the normal IMAP port.
If you need to tunnel via other systems to connect to the server, you
can use this option, and customize
nnimap-shell-program to be
what you need.
Non-encrypted and unsafe straight socket connection. STARTTLS will not be used even if it is available.
Some IMAP servers allow anonymous logins. In that case,
this should be set to
anonymous. If this variable isn’t set,
the normal login methods will be used. If you wish to specify a
specific login method to be used, you can set this variable to either
login (the traditional IMAP login method),
xoauth2. (The latter method
requires using the oauth2.el library.)
When to expunge deleted messages. If
never, deleted articles
are marked with the IMAP
\\Delete flag but not
automatically expunged. If
immediately, deleted articles are
immediately expunged (this requires the server to support the
UID EXPUNGE command). If
on-exit, deleted articles are
flagged, and all flagged articles are expunged when the group is
For backwards compatibility, this variable may also be set to
nil. If the server supports
UID EXPUNGE, both
nil are equivalent to
immediately. If the
server does not support
nil is equivalent
t will immediately expunge all
articles that are currently flagged as deleted (i.e., potentially not
only the article that was just deleted).
Virtually all IMAP server support fast streaming of data.
If you have problems connecting to the server, try setting this to
nil, fetch partial articles from the server. If set to
a string, then it’s interpreted as a regexp, and parts that have
matching types will be fetched. For instance, ‘"text/"’ will
fetch all textual parts, while leaving the rest on the server.
nil, record all IMAP commands in the
‘"*imap log*"’ buffer.
nil, omit the IMAP namespace prefix in nnimap group
names. If your IMAP mailboxes are called something like ‘INBOX’
and ‘INBOX.Lists.emacs’, but you’d like the nnimap group names to
be ‘INBOX’ and ‘Lists.emacs’, you should enable this option.
By default, nnimap will send occasional ‘NOOP’ (keepalive)
commands to the server, to keep the connection alive. This option
governs how often that happens. It is a cons of two integers,
representing seconds: first how often to run the keepalive check, and
the second how many seconds of user inactivity are required to
actually send the command. The default,
(900 . 300), means run
the check every fifteen minutes and, if the user has been inactive for
five minutes, send the keepalive command. Set to
disable keepalive commands altogether.