Centos6.3安装postfix实现邮件发送
一、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 }
页:
[1]