zyk198500 发表于 2015-9-15 09:42:49

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]
查看完整版本: Centos6.3安装postfix实现邮件发送