$Header: /data/cvsroot/mail/elmme+/shared_libs/smtp/README.ME+,v 1.7 2002/03/29 06:58:43 hurtta Exp $

Shared library
==============

Shared library libelmme-smtp.so implements mailer types sendmail-bs
and submission and implements message submission protocol (RFC 2476).

To use that library add "smtp" to "use-library" -elmrc option. For example

use-library = smtp

And specify "mailer" -elmrc option. For example

mailer = sendmail-bs

or

mailer = submission


Mailer definition
-----------------

        elm.rc option "mailer" can be used to define mailer
        type and path, which should be used. This can be
        specified only on global elm.rc (not user's .elm/elmrc).
        Option have form

        mailer = type; params...

        this shared library implements following values for type

                sendmail-bs
                submission

        Following option params have accepted for type
        sendmail-bs mailer

                path=...
                verify=
		allow-set-sender=

        When type is "sendmail-bs" mailer is called as

                path -bs

        Standard input and output is connected to unix
        socket (created with sockectpair()) which via 
        it talked SMTP.

        NOTE: Sendmail seems not take that connection as local (sic!)
              That happens at least with sendmail 8.12.1
              (smmsp) on linux. Therefore you get relaying
              denied message. That is bug of Sendmail.

               You may want use mailer type "submission" 
               instead.

        Following option params have accepted for type
        submission mailer

                server=
                verify=
		allow-set-sender=

        Param server gives host to which is tried 
        submission (port 587) and smtp (port 25) connection.
        You may override which protocol (or port)
        ise used with elm.mailservices file. See chaper
        "Mail services config".

        smtp VRFY command can be used for elm's internal 
        address verification. However that is not activated 
        by default (advantages from this is quite little.) 
        To enable this use

         mailer = submission; verify=yes


Mail services config
--------------------
 
        Files libdir/elm.mailservices and ~/.elm/mail.services
        specify data for remote services. This shared library 
        can use following kind lines:

        name    submission      parameters
        name    smtp            parameters
        name    *               parameters

        where name is canonical name for host; 'submission'
        specifies that message submission protocol should be used
        for submssion mailer, 'smtp' specifies that SMTP protocol 
        should be used for submission mailer and '*'
        can be used to specify parameters without specifying protocol
        used by submission mailer.


Warnings
-------- 

        - There is no way to specify address given on MAIL FROM
          (ie. envelope sender address). It is not possible to 
          specify envelope sender address with any other 
                mailer = xxx
          type either. Because of that mailer type 'submission' 
          perhaps make sense to use only with server=localhost 
          (which is default.)

        - This shared library (libelmme-smtp.so) does not
          currently use libelmme-tls.so library. Ie. STARTTLS
          is not supported.
          
        - sendmail -bs seems have broken in some situations.
          In other words it does not regognize connection
          (which comes from starndard input and output) 
          as local but instead reject recipients as "Relaying 
          denied". 

