一、postfix安装配置
1、解析mx记录,顺便解析一个域名到邮件服务器 eg:mail.paipaita.com。
2、centos6.3 默认安装postfix 2.6.6,所以自己不需要安装了。
3、修改配置
1 vim /etc/postfix/main.cf
修改以下属性
myhostname=mail.paipaita.com mydomain=paipaita.com myorigin=$mydomain inet_interfaces=all mydestintion=$myhostname,localhost,$mydomain,localhost,$mydomain #relay_domains=$mydestination mynetworks=192.168.100.0/24,127.0.0.0/8 home_mailbox=Maildir/ smtpd_banner=$myhostname ESMTP paipaita.com
另外在文件末尾添加以下内容:
smtpd_sasl_auth_enable=yes smtpd_sasl_auth_domain=$myhostname smtpd_sasl_security_options=noanonymous smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination broken_sasl_auth_clients=yes
二、配置SMTP认证
1 vim /etc/sasl2/smtpd.conf
修改以下属性
pwcheck_method:auxprop
1 vim /etc/sysconfig/saslauthd
#MECH=pam FLAGS=sasldb
三、设置sasl所属
chgrp postfix /etc/sasldb2
chmod 640 /etc/sasldb2 更改sasl数据库属性
四、添加sasl认证用户
将scott添加到paipaita.com域名下
1 saslpasswd2 -u paipaita.com -c scott
按照提示输入密码并重复密码。
iptables -A INPUT -p tcp --dport 25 -j ACCEPT service iptables save
启动服务
1 service postfix start 2 3 service saslauthd start
设置postfix saslauthd默认开机启动
1 chkconfig postfix on 2 3 chkconfig saslauthd on
五、测试邮件发送
1、本机测试
telnet 127.0.0.1 smtp 如果未安装telnet 执行yum install telnet安装即可 ehlo paipaita.com mail from:<webmaster@test.com> rcpt to:<rcpt@test.com> data Subject:postfix test Hi scott, It works. .
如图:
C#发邮件测试
1 using (System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("mail.paipaita.com", 25)) 2 { 3 System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage("webmaster@paipaita.com", "rcpt@test.com"); 4 message.Body = "来自postfix的测试邮件。"; 5 message.Subject = "回复给自己"; 6 message.ReplyToList.Add("rcpt@test.com");//邮箱默认不让回复,所以回复地址设置为了用户自己的邮箱 7 smtp.Credentials = new System.Net.NetworkCredential("scott@paipaita.com", "#123456"); 8 smtp.Send(message); 9 }