Postfix邮件系统安装与配置:Postfix,Cyrus-IMAP,Cyrus-sasl,Dovecot和SPF

作者: Mr.Xuan 分类: 技术交流 发布时间: 2014-11-24 11:40 ė
Warning: Use of undefined constant the_views - assumed 'the_views' (this will throw an Error in a future version of PHP) in /www/users/HA292220/WEB/wp-content/themes/TangStyle-master/single.php on line 11
143,532 views
6 3条评论

Postfix邮件系统安装与配置:Postfix,Cyrus-IMAP,Cyrus-sasl,Dovecot和SPF

最近发现邮件发送服务还是挺重要的。可能对于每天只有一百来封的邮件发送需求的个人博主来说,一个免费的邮箱提供的免费SMTP邮件发送服务就可以满足了,但是对于一些大型的网站、论坛和平台,每天的邮件发送量可以达到上万封以上,免费的邮件发送服务是不能满足需要了。

市场上已经有了不少的付费邮件发送服务,但是终归是第三方的邮件发送服务,在邮件发送方式、邮件内容等方面肯定要受到不少的限制。与其花大量的时间寻找更好的付费邮件服务,还不如自己动手利用VPS或者服务器搭建一个属于自己的邮件发送平台,搭建起来并不复杂,使用起来很方便。

本文就来分享一下用Postfix,Cyrus-IMAP,Cyrus-sasl,Dovecot和SPF搭建邮件系统的过程。Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA开源软件,可以用来代替sendmail,特点是免费、灵活、快速和兼容性好,可以承担大量的邮件发送任务。

Cyrus-IMAP和Cyrus-sasl是两个用来提供pop和imap服务,功能和Dovecot 一样,都是开源的IMAP 和POP3邮件服务器。SPF是反垃圾组件,主要的作用就是通过SPF让别人验证自己,域名添加txt记录,向支持SPF功能的邮件服务器提供验证信息。同时验证别人,配置邮件服务器支持 SPF,对每封进入的邮件进行SPF验证。

经典的邮件系统搭建一般是:postfix(作为发送邮件服务器)+Cyrus-IMAP和Cyrus-sasl或者dovecot(作为接收邮件服务器)+mysql(作为数据库)+ SPF反垃圾验证。当然有人可能还要求有Webmail,有了Webmail界面就能像企业邮局那样在线管理邮件了。

Postfix邮件系统安装与配置:Postfix,Cyrus-IMAP,Cyrus-sasl,Dovecot和SPF

一、Postfix,Cyrus-IMAP,Cyrus-sasl 安装

1、CentOS上执行命令:


yum install postfix
yum install cyrus*  

2、删除系统自带的Sendmail。


rpm -e sendmail
或者
yum remove sendmail

3、修改MTA(默认邮件传输代理)


alternatives --config mta

4、按下回车键保存当前选择,或者输入数字设置默认。

Postfix设置默认

5、也可以直接输入命令:


/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix

6、检查一下是不是已经设置成功了。


alternatives --display mta

Postfix检查是不是成功了

二、Postfix配置

1、Postfix的配置文件是main.cf,路径是:/etc/postfix/main.cf。

Postfix配置路径

2、用文本编辑器打开它进行相应的修改,建议将这个文件下载到本地使用Notepad++等常用的代码编辑器修改。

Postfix查找并修改

3、主要是将下面的代码前的#号去掉,如果没有则直接手动添加(用 hostname 可以查看本机主机名)。


myhostname = localhost  //76行,改成本机名称
mydomain = freehao123.com   //82行,设置域名
myorigin = $mydomain   //97行,去掉注释
inet_interfaces = all  //112行,去掉注释
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain //163行,去掉注释
mynetworks = 192.168.0.0/24, 127.0.0.0/8  //263行,设置内网和本地IP
local_recipient_maps =  //209行,去掉注释
smtpd_banner = $myhostname ESMTP unknow //568行,去掉注释,然后把$mail_name ($mail_version)改成unknow

//在main.cf文件的底部加上以下内容
smtpd_sasl_auth_enable = yes     //使用SMTP认证
broken_sasl_auth_clients = yes   //让不支持RFC2554的smtpclient也可以跟postfix做交互。
smtpd_sasl_local_domain = $myhostname  // 指定SMTP认证的本地域名
smtpd_sasl_security_options = noanonymous //取消匿名登陆方式
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设定邮件中有关收件人部分的限制
smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设置允许范围
message_size_limit = 15728640     //邮件大小
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp   //设置连接cyrus-imapd的路径

三、Cyrus-IMAP,Cyrus-sasl 配置

1、Cyrus-sasl 配置,编辑:vim /etc/sasl2/smtpd.conf (注意:如果是32位的CentOS,应该是:vim /usr/lib/sasl2/smtpd.conf ),加入以下代码,主要是设置记录Log模式,设置smtp寻找cyrus-sasl的路径。


log_level: 3       
saslauthd_path:/var/run/saslauthd/mux  

Postfix添加代码

2、cyrus-imapd的主要配置文件有:/etc/sysconfig/cyrus-imapd,/etc/cyrus.conf,/etc/imapd.conf。imapd.conf还包含非常多的参数,例如邮件存储目录、管理员账号、连接认证方式等等,具体的需要参考官网。

四、启动Postfix,Cyrus-IMAP,Cyrus-sasl

1、 执行以下命令启动Postfix,Cyrus-IMAP,Cyrus-sasl  :


/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/cyrus-imapd start  

Postfix启用服务

2、执行命令:netstat -tpnl |grep smtpd ,可以查看端口是否正常打开 。执行命令:service postfix status 可以查看Postfix状态。以下命令可以设置开机启动:


chkconfig postfix on
chkconfig cyrus-imapd on

3、检测Cyrus-sasl  。先设置一下cyrus密码,命令:passwd cyrus  ,然后使用命令:testsaslauthd -u cyrus -p ‘123546’ 来测试SMTP是否正常。

Postfix检测是否成功

4、检测cyrus-imapd,并创建新的邮件账号。命令:id cyrus是用来查看cyrus管理员账号的,默认的就是cyrus。创建邮件账号命令:


cyradm -u cyrus localhost (32位)
cyradm -u cyrus localhost --auth plain (64位)
cm freehao123 (新建)
lm (显示)
quit (退出)

Postfix创建新的账号

5、 生成的邮件目录是放在/var/spool/imap中,以目录形式存放。查看:ls /var/spool/imap/  ,目录名是用户名的首字母。

Postfix生成目录

五、Dovecot安装与配置

1、需要说明的是Dovecot和Cyrus-IMAP,Cyrus-sasl只需要选择其中一项即可,否则会出现端口被占用无法启用的情况,执行命令安装:


 yum -y install dovecot

2、 编辑Dovecot的配置文件:/etc/dovecot/dovecot.conf,主要是设置protocols = imap pop3,default_mail_env = maildir:~/Maildir是设置邮件目录,新版的配置文件中如果被注释,直接去掉#号。

3、在/etc/postfix/main.cf 配置中除了按照上面的方法进行相应的修改外,还记得加上:


smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

4、然后加入以下配置文件:


auth default {
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
 }
mechanisms = plain login
}

4、启动dovecot:/etc/rc.d/init.d/dovecot start,重启dovecot:/etc/init.d/dovecot restart,将dovecot设置为开机启动:chkconfig dovecot on 。

六、Postfix邮件系统使用

1、 要想使用Postfix邮件系统,你需要先把邮件系统的域名解析到服务器上,添加一个别名Mail,记录值指向服务器IP,例如:mail.zhujis.com

Postfix设置好A记录

2、将域名的MX设置为:mail.zhujis.com

Postfix添加域名MX

3、待域名DNS生效后,你就可以用Linux自带的Mail来发一封测试邮件:mail -s ‘I am Freehao123’ [email protected] < /etc/imapd.conf

Postfix发送测试邮件

4、这是QQ邮箱收到了Postfix邮件系统发来的邮件。

Postfix收信

5、如果CentOS没有安装中文字体,会出现邮件乱码。

Postfix中文乱码

6、执行命令:cat /var/log/maillog  可以查看Postfix收发邮件记录。

Postfix查看邮件记录

七、为Postfix邮件系统安装SPF

1、执行以下命令给Postfix邮件系统安装SPF:


wget https://launchpad.net/postfix-policyd-spf-perl/trunk/release2.010/+download/postfix-policyd-spf-perl-2.010.tar.gz
perl -MCPAN -e 'install version'
perl -MCPAN -e 'install NetAddr::IP'
perl -MCPAN -e 'install Mail::SPF'
perl -MCPAN -e 'install Sys::Hostname::Long'
tar zxvf postfix-policyd-spf-perl-2.010.tar.gz
cd postfix-policyd-spf-perl-2.010
cp postfix-policyd-spf-perl /usr/libexec/postfix/policyd-spf-perl

Postfix安装SPF

2、如果出现错误,可能是Perl没有安装完整,执行以下命令安装:


wget http://cpan.communilink.net/authors/id/A/AN/ANDK/CPAN-1.9600.tar.gz
tar -zxvf CPAN-1.9600.tar.gz
cd CPAN-1.9600
perl Makefile.PL
make
make install

3、编辑SPF的配置文件:/etc/postfix/master.cf,加入以下内容


policy  unix  -       n       n       -       0       spawn
user=nobody argv=/usr/local/postfix/libexec/postfix-policyd-spf-perl

Postfix添加SPF记录

4、然后再编辑Poxtfix配置文件,添加以下内容(如果已经有了,去掉前面的注释号)。


smtpd_recipient_restrictions =reject_unauth_destination,check_policy_service unix:private/policy

5、最后重新载入 postfix 服务:postfix reload

八、postfix邮件系统小结

1、postfix邮件系统可以用来替代sendmail发送邮件,如果你不想使用Pop和Imap服务,可以只安装postfix,并将其设置为默认的发邮件服务,这样服务器在发邮件时就是通过postfix了。

Postfix使用POP3

Postfix,Cyrus-IMAP,Cyrus-sasl,Dovecot

2、postfix邮件系统配合maildorp、extmail、extman等就要可以搭建一个企业邮局了,如果再配合好SPF反垃圾邮件策略,就可以满足日常大量的邮件收发任务了,且供多人同时使用。

文章出自:免费资源部落 文章中部分代码参考blog.51yip.com博客。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

本文出自Mr.Xuan,转载时请注明出处及相应链接。

本文永久链接: https://www.xuanlove.cn/jishujiaoliu/899.html

3条评论

  1. 1 2014 年 11 月 30 日 10:16 回复

    1

  2. Sang 2014 年 12 月 4 日 10:14 回复

    路过

  3. test 2014 年 12 月 4 日 10:21 回复

    Test

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

#9 #8 #73 #72 #71 #70 #7 #69 #68 #67 #66 #65 #64 #63 #62 #61 #60 #6 #59 #58 #57 #56 #55 #54 #53 #52 #51 #50 #5 #49 #48 #47 #46 #45 #44 #43 #42 #41 #40 #4 #39 #38 #37 #36 #35 #34 #33 #32 #31 #30 #3 #29 #28 #27 #26 #25 #24 #23 #22 #21 #20 #2 #19 #18 #17 #16 #15 #14 #13 #12 #11 #10 #1
Ɣ回顶部