VM supports accessing spool files on remote hosts via the Post Office Protocol (POP). Instead of a spool file name in the examples above, you would use a string that tells VM how to access the POP mailbox. The format of this string is:
``HOST:PORT:AUTH:USER:PASSWORD''
HOST is the host name of the POP server. PORT is the
TCP port number to connect to (should normally be 110). USER
is the user name sent to the server. PASSWORD is the secret
shared by you and the server for authentication purposes. How is it
used depends on the value of the AUTH parameter. If the
PASSWORD is `*
', VM will prompt you for the password the
first time you try to retrieve mail from the maildrop. If the password
is valid, VM will not ask you for the password again during this
Emacs session.
AUTH is the authentication method used to convince the server you should
have access to the maildrop. Acceptable values are `pass
',
`rpop
' and `apop
'. For `pass
', the PASSWORD is
sent to the server with the POP PASS command. For `rpop
', the
PASSWORD should be the string to be sent to the server via the RPOP
command. In this case the string is not really a secret; authentication
is done by other means. For `apop
', an MD5 digest of the
PASSWORD appended to the server timestamp will be sent to the server
with the APOP command. In order to use `apop
' you will have to
set the value of vm-pop-md5-program
appropriately to point at the
program that will generate the MD5 digest that VM needs.
By default VM will retrieve all the messages from a POP maildrop
before returning control of Emacs to you. If the maildrop is
large, the wait could be considerable. If you set
vm-pop-max-message-size
to a positive numeric value, VM will not
automatically retrieve messages larger than this size. If VM is
retrieving messages because you invoked vm-get-new-mail
interactively, then VM will ask whether it should retrieve the
large message. If VM is retrieving messages automatically
(e.g. vm-auto-get-new-mail
is set non-nil
) then VM will skip the
large message and you can retrieve it later.
The variable vm-pop-messages-per-session
controls how many messages
VM will retrieve from a POP maildrop before returning control to
you. Similarly, the variable vm-pop-bytes-per-session
limits the
number of bytes VM will retrieve from a POP maildrop before returning
control to you. By default, the value of both variables is nil, which
tells VM to retrieve all the messages in the POP maildrop regardless
of how many messages there are and how large the maildrop is.
After VM retrieves messages from the maildrop, the default action
is to delete the messages from there. If you want VM to leave
messages in the remote maildrop until you explicitly request
their removal, set vm-pop-expunge-after-retrieving
to
nil
. Messages will not be removed from the maildrop until you
run vm-expunge-pop-messages
; only those messages that VM has
retrieved into the current folder will be expunged.
The variable vm-pop-auto-expunge-alist
gives you a way to specify
on a per-maildrop basis which POP maildrops have message
automatically removed when retrieved and which ones leave the
messages on the POP server. The value of
vm-pop-auto-expunge-alist
should be a list of POP mailboxes and
values specifying whether messages should be automatically
deleted from the mailbox after retrieval. The format of the list
is:
((MAILBOX . VAL) (MAILBOX . VAL) ...)
MAILBOX should be an POP maildrop specification as described
in the documentation for the variable vm-spool-files
. If
you have the POP password specified in the vm-spool-files
entry, you do not have to specify it here as well. Use `*
'
instead; VM will still understand that this mailbox is the same as
the one in vm-spool-files
that contains the password.
VAL should be nil
if retrieved messages should be left in the
corresponding POP mailbox, t
if retrieved messages should be
removed from the mailbox immediately after retrieval.
Here is an example:
(setq vm-pop-auto-expunge-alist '( ("odin.croc.net:110:pass:kyle:*" . nil) ;; leave message on the server ("hilo.harkie.org:110:pass:kyle:*" . t) ;; expunge immediately ) )