smtpmail: Emacs Speaks SMTP

 
 2 Emacs Speaks 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
 (See(emacs)Mail Methods) to use the SMTP library.  If you have not
 configured anything, then in Emacs 24.1 and later the first time you try
 to send a mail Emacs will ask how you want to send mail.  To use this
 library, answer ‘smtp’ when prompted.  Emacs then asks for the name of
 the SMTP server.
 
    If you prefer, or if you are using a non-standard mail user agent,
 you can configure this yourself.  The normal way to do this is to set
 the variable ‘send-mail-function’ (See(emacs)Mail Sending) to the
 value you want to use.  To use this library:
 
      (setq send-mail-function 'smtpmail-send-it)
 
 The default value for this variable is ‘sendmail-query-once’, which
 interactively asks how you want to send mail.
 
    Your mail user agent might use a different variable for this purpose.
 It should inherit from ‘send-mail-function’, but if it does not, or if
 you prefer, you can set that variable directly.  Consult your mail user
 agent’s documentation for more details.  For example, (See
 (message)Mail Variables).
 
    Before using SMTP you must find out the hostname of the SMTP server
 to use.  Your system administrator or mail service provider should
 supply this information.  Often it is some variant of the server you
 receive mail from.  If your email address is ‘yourname@example.com’,
 then the name of the SMTP server is may be something like
 ‘smtp.example.com’.
 
 ‘smtpmail-smtp-server’
      The variable ‘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 ‘SMTPSERVER’ environment variable,
      or, if empty, the contents of ‘smtpmail-default-smtp-server’.
 
 ‘smtpmail-default-smtp-server’
      The variable ‘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
      ‘smtpmail-smtp-server’ is defined.  It is usually set by system
      administrators in a site wide initialization file.
 
    The following example illustrates what you could put in ‘~/.emacs’ to
 set the SMTP server name.
 
      ;; Send mail using SMTP via mail.example.org.
      (setq smtpmail-smtp-server "mail.example.org")
 
    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.
 
 ‘smtpmail-smtp-service’
      The variable ‘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.
 
    The following example illustrates what you could put in ‘~/.emacs’ to
 set the SMTP service port.
 
      ;; Send mail using SMTP on the mail submission port 587.
      (setq smtpmail-smtp-service 587)