Ubuntu postfix + dovecot 简易邮件服务
需求:
建立EMail服务器,提供IMAP、SMTP和POP3服务,客户能用foxmail或者outlook收发信件。
前提:
域名(mail.example.com)、固定IP、DNS上设置好A、MX、PTR记录
使用软件:
Ubuntu 8.04 Server, Postfix, Dovecot
-------------------------
步骤:
1、装好Ubuntu 8.04,update
注意:如果DNS上PTR记录正确的话,安装过程中系统会自动发现你的主机名和域名。
2、安装postfix
引用:
sudo apt-get install postfix
安装完成后,系统会自动提示进行一些基本信息设置。默认即可。
3、初始配置postfix
引用:
sudo dpkg-reconfigure postfix
默认即可,反正事后可以在main.cf里改
4、配置main.cf
main.cf文件在/etc/postfix下
在mydestination后加上example.com,成为这个样子:
引用:
mydestination = example.com, mail.example.com, localhost.example.com, localhost
这是因为默认情况postfix只接收发到@mail.example.com的邮件,而不接收@example.com的邮件。5、更改mailbox类型
引用:
sudo postconf -e 'home_mailbox = Maildir/'
注:postconf -e和在mail.cf自己写是一回事,-e for edit
这个步骤其实为可选操作。mailbox类型可以是mbox或者是maildir,互有优缺点。但如果将来还打算扩展webmail这类应用,最好选为 Maildir,这样兼容性更好一些。对于dovecot pop3而言,倒是无所谓了。具体mbox和maildir有什么区别,去参考《postfix权威指南》
6、安装dovecot
引用:
sudo apt-get install dovecot-pop3d
系统会自动带上dovecot-common,后面配置sasl认证的时候就不用再装了
7、编辑dovecot.conf
主要有两个地方:
引用:
mail_location = maildir:~/Maildir
#我们前面设置了mailbox类型为maildir,这是对应的设置。
引用:
disable_plaintext_auth = no
#默认情况下,dovecot是不允许plaintext类型的认证的,打开
------------------
重启postfix和dovecot。至此,postfix可以收信,并且foxmail可以pop3取信。测试。
到现在foxmail还不能连接到postfix发信,原因是postfix不进行open relay,OR可不能打开,太危险了。
两种解决方案:
a、在mail.cf里的mynetworks字段加上foxmail所在的网段。默认情况下mynetworks字段只有127.0.0.0/8,所以你 telnet mail.example.com 25 后,是可以发信的。如果你确定foxmail所在的网段,加上即可。
b、很多情况下发信客户ip是不能确定的,所以打开sasl认证。
接下来配置sasl认证
------------------
8、编辑dovecot.conf
在mechanisms字段加上login,成为这个样子:
引用:
mechanisms = plain login
编辑socket listen字段,成为这个样子:
引用:
socket listen {
client {
path = /var/spool/postfix/private/auth-client
mode = 0660
user = postfix
group = postfix
}
}
9、给postfix加上如下配置
引用:
sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth-client'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
sudo postconf -e 'inet_interfaces = all'
10、重起postfix和dovecot。不出意外的话,已经可以通过foxmail正常收发邮件了
< SMTP服务器的构建 ( Postfix ) > (最近更新日:2006/09/28)
前 言
在CentOS中,默认的邮件服务器(SMTP方面)是sendmail,但sendmail有若干的缺点,比如,配置复杂、安全漏洞曾被多次发现--并且依然存在隐患、邮件发送速度慢等等,这里就不再一一叙述。而另一个被广泛应用于邮件服务方面的“Postfix”的缺点就少得多,或者说它就是针对于 sendmail的缺点,而被设计的。对应sendmail的短处,它在各方面也比较成熟。所以,无特殊要求,这里不推荐用sendmail来构建邮件服务器。本站介绍的邮件服务器配置方法,也将基于Postfix。
确认MX记录的添加是否生效的方法:
[root@sample ~]# host -t mx centospub.com
centospub.com mail is handled by 10 mail.centospub.com. ← 确认MX记录生效
然后,安装Postfix。
[root@sample ~]# yum -y install postfix ← 在线安装Postfix
Setting up Install Process
Setting up repositories
dag 100% |=========================| 1.1 kB 00:00
update 100% |=========================| 951 B 00:00
base 100% |=========================| 1.1 kB 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 28 kB 00:04
update : ################################################## 84/84
Added 84 new packages, deleted 1499 old in 3.44 seconds
primary.xml.gz 100% |=========================| 157 B 00:00
Added 0 new packages, deleted 1499 old in 1.97 seconds
primary.xml.gz 100% |=========================| 26 kB 00:00
extras : ################################################## 102/102
Added 102 new packages, deleted 1499 old in 2.73 seconds
Reducing Dag RPM Repository for Red Hat Enterprise Linux to included packages only
Finished
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for postfix to pack into transaction set.
postfix-2.2.10-1.RHEL4.2. 100% |=========================| 40 kB 00:00
---> Package postfix.i386 2:2.2.10-1.RHEL4.2 set to be updated
--> Running transaction check
Dependencies Resolved