Remove SMTP section.
Document send-mail-function and refer to the Emacs SMTP Library manual.
This commit is contained in:
parent
4ece81a62f
commit
b1d2807971
1 changed files with 13 additions and 167 deletions
180
man/sending.texi
180
man/sending.texi
|
@ -82,7 +82,6 @@ separate manual. It may be useful for looking up names and addresses.
|
|||
* Mode: Mail Mode. Special commands for editing mail being composed.
|
||||
* Amuse: Mail Amusements. Distracting the NSA; adding fortune messages.
|
||||
* Methods: Mail Methods. Using alternative mail-composition methods.
|
||||
* SMTP: Sending via SMTP. Sending mail via SMTP.
|
||||
@end menu
|
||||
|
||||
@node Mail Format
|
||||
|
@ -439,6 +438,19 @@ the coding system for outgoing mail by setting the variable
|
|||
a particular message, Emacs asks you to select the coding system to use,
|
||||
showing a list of possible coding systems.
|
||||
|
||||
@cindex SMTP
|
||||
@cindex Feedmail
|
||||
@cindex Sendmail
|
||||
@vindex send-mail-function
|
||||
The variable @code{send-mail-function} controls how the default mail
|
||||
user agent sends mail. It should be set to a function. The default
|
||||
is @code{sendmail-send-it}, which delivers mail using the Sendmail
|
||||
installation on the local host. To send mail through a SMTP server,
|
||||
set it to @code{smtpmail-send-it} and set up the Emacs SMTP library
|
||||
(@pxref{Sending mail via SMTP,,,smtpmail}). A third option is
|
||||
@code{feedmail-send-it}, see the commentary section of the
|
||||
@file{feedmail.el} package for more information.
|
||||
|
||||
@node Header Editing
|
||||
@subsection Mail Header Editing
|
||||
|
||||
|
@ -691,169 +703,3 @@ and facilities that send mail.
|
|||
in this chapter about the @samp{*mail*} buffer and Mail mode does not
|
||||
apply; the other methods use a different format of text in a different
|
||||
buffer, and their commands are different as well.
|
||||
|
||||
@node Sending via SMTP
|
||||
@section Sending via SMTP
|
||||
@cindex SMTP
|
||||
|
||||
On the Internet, mail is sent from host to host using the simple
|
||||
mail transfer protocol (SMTP). When you read and write mail you are
|
||||
using a mail program that does not use SMTP -- it just reads mails
|
||||
from files. This is called a mail user agent (MUA). The mail
|
||||
transfer agent (MTA) is the program that accepts mails via SMTP and
|
||||
stores them in files. You also need a mail transfer agent when you
|
||||
send mails. Your mail program has to send its mail to a MTA that can
|
||||
pass it on using SMTP.
|
||||
|
||||
Emacs includes a package for sending your mail to a SMTP server and
|
||||
have it take care of delivering it to the final destination, rather
|
||||
than letting the MTA on your local system take care of it. This can
|
||||
be useful if you don't have a MTA set up on your host, or if your
|
||||
machine is often disconnected from the Internet.
|
||||
|
||||
Sending mail via SMTP requires configuring your mail user agent
|
||||
(@pxref{Mail Methods}) to use the SMTP library. How to do this should
|
||||
be described for each mail user agent; for the Message and Gnus user
|
||||
agents the variable @code{message-send-mail-function} (@pxref{Mail
|
||||
Variables,,,message}) is used.
|
||||
|
||||
@vindex send-mail-function
|
||||
The variable @code{send-mail-function} controls how the default mail
|
||||
user agent sends mail. It should be set to a function. The default
|
||||
is @code{sendmail-send-it}, but must be set to @code{smtpmail-send-it}
|
||||
in order to use the SMTP library. @code{feedmail-send-it} is another
|
||||
option.
|
||||
|
||||
Before using SMTP you must find out the hostname of the SMTP server
|
||||
to use. Your system administrator should provide you with this
|
||||
information, but often it is the same as the server you receive mail
|
||||
from.
|
||||
|
||||
@vindex smtpmail-smtp-server
|
||||
The variable @code{smtpmail-smtp-server} controls the hostname of
|
||||
the server to use. It is a string with an IP address or hostname. It
|
||||
defaults to the contents of the @code{SMTPSERVER} environment
|
||||
variable, or, if empty, the contents of
|
||||
@code{smtpmail-default-smtp-server}.
|
||||
|
||||
@vindex smtpmail-default-smtp-server
|
||||
The variable @code{smtpmail-default-smtp-server} controls the
|
||||
default hostname of the server to use. It is a string with an IP
|
||||
address or hostname. It must be set before the SMTP library is
|
||||
loaded. It has no effect if set after the SMTP library has been
|
||||
loaded, or if @code{smtpmail-smtp-server} is defined. It is usually
|
||||
set by system administrators in a site wide initialization file.
|
||||
|
||||
@cindex Mail Submission
|
||||
SMTP is normally used on the registered ``smtp'' TCP service port 25.
|
||||
Some environments use SMTP in ``Mail Submission'' mode, which uses
|
||||
port 587. Using other ports is not uncommon, either for security by
|
||||
obscurity purposes, port forwarding, or otherwise.
|
||||
|
||||
@vindex smtpmail-smtp-service
|
||||
The variable @code{smtpmail-smtp-service} controls the port on the
|
||||
server to contact. It is either a string, in which case it will be
|
||||
translated into an integer using system calls, or an integer.
|
||||
|
||||
Many environments require SMTP clients to authenticate themselves
|
||||
before they are allowed to route mail via a server. The two following
|
||||
variables contains the authentication information needed for this.
|
||||
The first variable, @code{smtpmail-auth-credentials}, instructs the
|
||||
SMTP library to use a SASL authentication step, currently only the
|
||||
CRAM-MD5, PLAIN and LOGIN-MD5 mechanisms are supported and will be
|
||||
selected in that order if the server supports them. The second
|
||||
variable, @code{smtpmail-starttls-credentials}, instructs the SMTP
|
||||
library to connect to the server using STARTTLS. This means the
|
||||
protocol exchange can be integrity protected and confidential by using
|
||||
TLS, and optionally also authentication of the client. It is common
|
||||
to use both these mechanisms, e.g. to use STARTTLS to achieve
|
||||
integrity and confidentiality and then use SASL for client
|
||||
authentication.
|
||||
|
||||
@vindex smtpmail-auth-credentials
|
||||
The variable @code{smtpmail-auth-credentials} contains a list of
|
||||
hostname, port, username and password tuples. When the SMTP library
|
||||
connects to a host on a certain port, this variable is searched to
|
||||
find a matching entry for that hostname and port. If an entry is
|
||||
found, the authentication process is invoked and the credentials are
|
||||
used. The hostname field follows the same format as
|
||||
@code{smtpmail-smtp-server} (i.e., a string) and the port field the
|
||||
same format as @code{smtpmail-smtp-service} (i.e., a string or an
|
||||
integer). The username and password fields, which either can be
|
||||
@samp{nil} to indicate that the user is queried for the value
|
||||
interactively, should be strings with the username and password,
|
||||
respectively, information that is normally provided by system
|
||||
administrators.
|
||||
|
||||
@vindex smtpmail-starttls-credentials
|
||||
The variable @code{smtpmail-starttls-credentials} contains a list of
|
||||
tuples with hostname, port, name of file containing client key, and
|
||||
name of file containing client certificate. The processing is similar
|
||||
to the previous variable. The client key and certificate may be
|
||||
@samp{nil} if you do not wish to use client authentication. The use
|
||||
of this variable requires the @samp{starttls} external program to be
|
||||
installed, you can get it from
|
||||
@samp{ftp://ftp.opaopa.org/pub/elisp/starttls-*.tar.gz}.
|
||||
|
||||
The remaining variables are more esoteric and is normally not needed.
|
||||
|
||||
@vindex smtpmail-debug-info
|
||||
The variable @code{smtpmail-debug-info} controls whether to print
|
||||
the SMTP protocol exchange in the minibuffer, and retain the entire
|
||||
exchange in a buffer @samp{*trace of SMTP session to
|
||||
mail.example.org*}.
|
||||
|
||||
@vindex smtpmail-debug-verb
|
||||
The variable @code{smtpmail-debug-verb} controls whether to send the
|
||||
VERB token to the server. The VERB server instructs the server to be
|
||||
more verbose, and often also to attempt final delivery while your SMTP
|
||||
session is still running. It is usually only useful together with
|
||||
@code{smtpmail-debug-info}. Note that this may cause mail delivery to
|
||||
take considerable time if the final destination cannot accept mail.
|
||||
|
||||
@vindex smtpmail-local-domain
|
||||
The variable @code{smtpmail-local-domain} controls the hostname sent
|
||||
in the first EHLO or HELO command sent to the server. It should only
|
||||
be set if the @code{system-name} function returns a name that isn't
|
||||
accepted by the server. Do not set this variable unless your server
|
||||
complains.
|
||||
|
||||
@vindex smtpmail-sendto-domain
|
||||
The variable @code{smtpmail-sendto-domain} makes the SMTP library
|
||||
add @samp{@@} and the specified value to recipients specified in the
|
||||
message when they are sent using the RCPT TO command. Some
|
||||
configurations of sendmail requires this behaviour. Don't bother to
|
||||
set this unless you have get an error like:
|
||||
|
||||
@example
|
||||
Sending failed; SMTP protocol error
|
||||
@end example
|
||||
|
||||
when sending mail, and the *trace of SMTP session to <somewhere>*
|
||||
buffer (enabled via @code{smtpmail-debug-info}) includes an exchange
|
||||
like:
|
||||
|
||||
@example
|
||||
RCPT TO: <someone>
|
||||
501 <someone>: recipient address must contain a domain
|
||||
@end example
|
||||
|
||||
@vindex smtpmail-queue-mail
|
||||
The variable @code{smtpmail-queue-mail} controls whether a simple
|
||||
off line mail sender is active. This variable is a boolean, and
|
||||
defaults to @samp{nil} (disabled). If this is non-nil, mail is not
|
||||
sent immediately but rather queued in the directory
|
||||
@code{smtpmail-queue-dir} and can be later sent manually by invoking
|
||||
@code{smtpmail-send-queued-mail} (typically when you connect to the
|
||||
Internet).
|
||||
|
||||
@vindex smtpmail-queue-dir
|
||||
The variable @code{smtpmail-queue-dir} specifies the name of the
|
||||
directory to hold queued messages. It defaults to
|
||||
@samp{~/Mail/queued-mail/}.
|
||||
|
||||
@findex smtpmail-send-queued-mail
|
||||
The function @code{smtpmail-send-queued-mail} can be used to send
|
||||
any queued mail when @code{smtpmail-queue-mail} is enabled. It is
|
||||
typically invoked interactively with @kbd{M-x RET
|
||||
smtpmail-send-queued-mail RET} when you are connected to the Internet.
|
||||
|
|
Loading…
Add table
Reference in a new issue