Linux Docs - Configure sendmail for SMTP relay with your ISP
Site Navigation:

 
 

Configure sendmail for SMTP relay with your ISP

Author:  Sven Knispel
Updated:  05-01-2005
Feedback welcome: linux@cri.ch
Free service provided by: www.cri.ch

The following article explains the setup of sendmail for forwarding mails to your ISP's smtp server.
It is assumed that you have sendmail up-to-date and configured properly.
Note: this setup does not work properly for smtp-server using SASL (e.g. like smtp.pobox.com)
Most of the commands must be executed with the corresponding rights (using sudo).

1. configure your smtp-server

(this requires that you have the package sendmail-cf installed)

1.1. changes to /etc/mail/sendmail.mc

Uncomment the definition SMART_HOST and add the correspondign FEATURE to it:
define(`SMART_HOST', `your-smtp-server')
FEATURE(authinfo)dnl
Note: Please note, that these are "oriented" quotes.

1.2. create the new sendmail.cf

Stop sendmail by issuing the command /sbin/service sendmail stop and log on as root to issue this command. m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

1.3. Define the account information for connecting to the smtp-server

Edit/create /etc/mail/authinfo and add the following line:
AuthInfo:<your-smtp-server> "U:<your-smtp-user>" "P:<your-smtp-password>" "M:DIGEST-MD5"
Note:The M: may vary depending on the capabilities of the smtp-server (e.g. CRAM-MD5, PLAIN).

Create authinfo.db:
makemap hash /etc/mail/authinfo < /etc/mail/authinfo
and finally restart sendmail:
/sbin/service sendmail restart

1.4. Configure header rewriting (optional)

Header rewriting consists in replacing the From: and Reply to: in the header of an outgoing mail in order for the recipient to reply to a valid address.
This can be set by editing the file /etc/mail/userdb:
<local-name>:mailname <email-adsress>
E.g.:
# /etc/mail/userdb
sven:mailname sven@foo.org

Finally create the corresponding database:
makemap btree /etc/mail/userdb.db < /etc/mail/userdb
... and finally restart sendmail:
/sbin/service sendmail restart

1.5. Test your settings

Issue following commands and check the trace for verifying the delivery path:
/usr/sbin/sendmail -bv root@localhost Should show a "local" delivery.
/usr/sbin/sendmail -bv <your-mail>@<your-domain> Should show a delivery path through your ISP.

For troubleshooting you should check the mail-log: /var/log/maillog

2. Forwarding

Forward can be defined in ~/.forward. (just enter the e-mail addressto forward to). Note:The permissions of that file must be adjusted correspondingly in order to avoid sendmail ignoring it (see /var/log/maillog in case of problems).

3. References

For further information I recommend to check following link: