Ubuntu下Postfix +Dovecot 邮件服务器搭建

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记录  MX(Mail Exchanger)记录   是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在,用户计算机就将邮件发送到MX记录所指定的邮件服务器上。  


  确认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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswfx.html