33.18 movemail program
Rmail uses the movemail
program to move mail from your inbox to your Rmail file (see Rmail Inbox). When loaded for the first time, Rmail attempts to locate the movemail
program and determine its version. There are two versions of the movemail
program: the GNU Mailutils version (see movemail in GNU mailutils), and an Emacs-specific version that is built and installed unless Emacs was configured --with-mailutils
in effect. The two movemail
versions support the same command line syntax and the same basic subset of options. However, the Mailutils version offers additional features and is more secure.
The Emacs version of movemail
can retrieve mail from the usual Unix mailbox formats. Warning: Although it can also use the POP3 protocol, this is not recommended because it does not support POP3 via encrypted TLS channels.
The Mailutils version is able to handle a wide set of mailbox formats, such as plain Unix mailboxes, maildir
and MH
mailboxes, etc. It is able to access remote mailboxes using the POP3 or IMAP4 protocol, and can retrieve mail from them using a TLS encrypted channel. It also accepts mailbox arguments in URL form. The detailed description of mailbox URLs can be found in URL in Mailbox URL Formats. In short, a URL is:
proto://[user[:password]@]host-or-file-name[:port]
where square brackets denote optional elements.
proto
​
Specifies the mailbox protocol, or format to use. The exact semantics of the rest of URL elements depends on the actual value of proto
(see below).
user
​
User name to access the remote mailbox.
password
​
User password to access the remote mailbox.
host-or-file-name
​
Hostname of the remote server for remote mailboxes or file name of a local mailbox.
port
​
Optional port number, if not the default for that protocol.
proto
can be one of:
mbox
​
Usual Unix mailbox format. In this case, user
, pass
and port
are not used, and host-or-file-name
denotes the file name of the mailbox file, e.g., mbox:///var/spool/mail/smith
.
mh
​
A local mailbox in the MH format. user
, pass
and port
are not used. host-or-file-name
denotes the name of MH folder, e.g., mh:///Mail/inbox
.
maildir
​
A local mailbox in the maildir format. user
, pass
and port
are not used, and host-or-file-name
denotes the name of maildir
mailbox, e.g., maildir:///mail/inbox
.
file
​
Any local file in mailbox format. Its actual format is detected automatically by movemail
.
pop
​
pops
​
A remote mailbox to be accessed via POP3 protocol. user
specifies the remote user name to use, pass
may be used to specify the user password, host-or-file-name
is the name or IP address of the remote mail server to connect to, and port
is the port number; e.g., pop://smith:guessme@remote.server.net:995
. If the server supports it, movemail
tries to use an encrypted connection—use the ‘pops
’ form to require one.
imap
​
imaps
​
A remote mailbox to be accessed via IMAP4 protocol. user
specifies the remote user name to use, pass
may be used to specify the user password, host-or-file-name
is the name or IP address of the remote mail server to connect to, and port
is the port number; e.g., imap://smith:guessme@remote.server.net:993
. If the server supports it, movemail
tries to use an encrypted connection—use the ‘imaps
’ form to require one.
Alternatively, you can specify the file name of the mailbox to use. This is equivalent to specifying the ‘file
’ protocol:
/var/spool/mail/user ≡ file:///var/spool/mail/user
The variable rmail-movemail-program
controls which version of movemail
to use. If that is a string, it specifies the absolute file name of the movemail
executable. If it is nil
, Rmail searches for movemail
in the directories listed in rmail-movemail-search-path
, then in exec-path
(see Shell), then in exec-directory
.