基本上是按照 http://flurdy.com/docs/postfix 这个教程做的
推荐初次搭建邮件服务器的人看的书
LINUX系统管理技术手册(第2版)
POSTFIX权威指南
这2本书里面讲了很多邮件服务器方面的基本概念,不明白的话配置文件的时候简直像猜大小
写几点要注意的地方
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
配置postfix邮件系统要很多配置文件, 里面的某些配置文件里面是不会自动trim()的, 如:
xxx = mysql
有一个认证模块的配置文件里面我在mysql后面多了一个空格,结果log一直提示我mysql模块未安装,
其实它说的是'mysql '模块,注意到没,引号里有一个空格,这个错误弄了老半天,最后在网上看到老外也提到了这点,才试着一个个去去除空格,结果就好了。。。
还有一个,就是配置ssl,生成证书的时候,他会让你写一些信息, 如下
Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:sh
Locality Name (eg, city) []:pd
Organization Name (eg, company) [Internet Widgits Pty Ltd]:company
Organizational Unit Name (eg, section) []:section
Common Name (eg, YOUR name) []:yourdomain.com
Email Address []:xxx@gmail.com
这里的Common Name一定要和你的邮件服务器的名字一样,其他无所谓, 这里也是碰壁了,网上查了才知道的,原文没有提到
最后就配置了mysql+postfix+sasl_ssl,配置文件记一下
vi /etc/mailname
mailserver.com
vi /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/postfix/postfix.cert
smtpd_tls_key_file=/etc/postfix/postfix.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = mailserver.com
myorigin = mailserver.com
relayhost =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
mynetworks_style = host
local_recipient_maps =
mydestination =
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_sender_restrictions =permit_sasl_authenticated, permit_myn