Table of Contents
refer: http://tecadmin.net/install-and-configure-postfix-on-centos-redhat/
email architecture: email system in linux
http://www.postfix.org/documentation.html
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/sasldb_configuration.html
postfix slide show
Mailserver config
install and config postfix for sending and receiving mail
install
- install
yum remove sendmail yum install cyrus-sasl.x86_64 yum install postfix
- set MTA default to postfix
alternatives --set mta /usr/sbin/postfix
config and files
- config files
/etc/sasl2/smtpd.conf /etc/postfix/main.cf
- log
/var/log/maillog
- check content of config
postconf
- check configs which change by user(none default)
postconf -n
Basic config
Basic config for Sending and receiving mail with UNIX system accounts
What domain name to use in outbound mail
Edit /etc/postfix/main.cf:
myhostname = mail.babies.vn
mydomain = babies.vn
myorigin = $mydomain
inet_interfaces = all
The myorigin parameter specifies the domain that appears in mail that is posted on this machine. Follow this configuration, send mail as “user@$mydomain”
To secure the mailserver was can't be used by other server, you can config inet_interfaces to localhost:
inet_interfaces = localhost
what domains this machine will deliver locally
The mydestination parameter specifies what domains this machine will deliver locally, instead of forwarding to another machine.
Edit /etc/postfix/main.cf:
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
Active config in postfix
serivce postfix restart chkconfig postfix on
test sending and receiving mail
setup sendmail program: mailx
yum install mailx yum install sendmail
test sending mail
mail anh.vochi@gmail.com Subject: Test This is a email test #Ctr+D
test receiving mail
Using gmail [email protected] send to [email protected] and [email protected]
- Check receiving mail base on maillog: /var/log/maillog
- log for mailto [email protected]: status=sent (delivered to mailbox)
May 22 05:39:52 mail postfix/smtpd[4228]: connect from mail-qg0-f43.google.com[209.85.192.43] May 22 05:39:52 mail postfix/smtpd[4228]: C968340900: client=mail-qg0-f43.google.com[209.85.192.43] May 22 05:39:53 mail postfix/cleanup[4232]: C968340900: message-id=<CADwQOAhT-WZ2wBRmXx0eDsJvTK5FtqauqryDDPgDCA7PYed3tw@mail.gmail.com> May 22 05:39:53 mail postfix/qmgr[4141]: C968340900: from=<[email protected]>, size=2268, nrcpt=1 (queue active) May 22 05:39:53 mail postfix/local[4233]: C968340900: to=<[email protected]>, relay=local, delay=0.74, delays=0.71/0.02/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox) May 22 05:39:53 mail postfix/qmgr[4141]: C968340900: removed May 22 05:39:53 mail postfix/smtpd[4228]: disconnect from mail-qg0-f43.google.com[209.85.192.43]
- log for mailto [email protected]: sale@babies.vn: Recipient address rejected: User unknown in local recipient table
May 22 05:43:13 mail postfix/anvil[4230]: statistics: max connection rate 1/60s for (smtp:209.85.192.43) at May 22 05:39:52 May 22 05:43:13 mail postfix/anvil[4230]: statistics: max connection count 1 for (smtp:209.85.192.43) at May 22 05:39:52 May 22 05:43:13 mail postfix/anvil[4230]: statistics: max cache size 1 at May 22 05:39:52 May 22 05:43:58 mail postfix/smtpd[4247]: connect from mail-qc0-f179.google.com[209.85.216.179] May 22 05:43:59 mail postfix/smtpd[4247]: NOQUEUE: reject: RCPT from mail-qc0-f179.google.com[209.85.216.179]: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-qc0-f179.google.com> May 22 05:43:59 mail postfix/smtpd[4247]: disconnect from mail-qc0-f179.google.com[209.85.216.179]
- check mail content received in “mail_spool_directory = /var/mail”
cat /var/mail/root
Or
mail
config user [email protected] can send mail to [email protected], base on UNIX system account
Default , we can send mail to [email protected]. But we can't send mail to [email protected]. Below are steps forward emails of [email protected] to sale UNIX system account(sale is UNIX system account)
config
[/etc/postfix/main.cf]
virtual_alias_maps = hash:/etc/postfix/virtual
[/etc/postfix/virtual]
[email protected] sale, [email protected], [email protected], [email protected]
Active changes in config
- run scripts below:
postmap /etc/postfix/virtual #=> generate /etc/postfix/virtual.db
- reload postfix: /etc/init.d/postfix reload
- check config:
postmap -q sale@babies.vn hash:/etc/postfix/virtual
- Using [email protected] send mail to [email protected]
Check Mail Server Storage(MSS) for Receiving Email which postfix support
postconf -a
cyrus
dovecot
Install and config Mail Server Storage with cyrus for Mail client connecting
------------------ Incoming Mail |--+ Postfix <-----------| Outgoing Mail | -|---------------- | || LMTP | | -|---------------- | |+> Cyrus +----------------+ | |+> Imapd ||---->+ | | -|--------------|- | | | ||Authentication|| 2| 1| | |+< SASL <+| v ^ | ------------------ |Receiving| |Sending| | | +--------------------+ | Mail Client |
Install cyrus
yum install cyrus-imapd.x86_64
config postfix connect with cyrus via lmtp(local mail transfer protocol)
config postfix
postconf -e "mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp"
config cyrus
[/etc/cyrus.conf]
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
active changes in config
/etc/init.d/postfix restart /etc/init.d/cyrus-imapd restart chkconfig postfix on chkconfig cyrus-imapd on
Config Cyrus-Imapd for domain and mail client authentication
[/etc/imapd.conf]
admins: cyrus cyrusadm