- 如果debian中安装了exim4,先卸载exim4:
apt-get remove exim4
- 安装postfix
apt-get install postfix
- 安装完成后就可以测试下,PHP代码如下:
public function index(){
$isok=mail('你的接受email地址','test','test');
echo $isok;
}php中的mail函数用法请参考php手册。
这时收到的邮件发件人大致是:www-data <www-data@你的hostname> - 为了不让别的邮件服务器认为是垃圾邮件,需要做下面几步域名相关的操作:
- 添加A记录
mail A 默认 你的服务器ip - 120
- 添加MX记录
@ MX 默认 mail.你的域名. 1 600
- 查看mx记录是否生效
host -t mx taozhoubian.net
- 添加TXT记录
@ TXT 默认 v=spf1 mx a:mail.taozhoubian.net ~all - 600
- 添加A记录
- 规范发件人的尝试,我们想把发件人显示自己设定的,比如“osEye <no-reply@oseye.net>”,我们做了如下尝试
- 修改mail参数:
$isok=mail('你的接受邮件地址','test','test',null,'no-reply@你的域名');
发件人没任何改变。
- 设置postfix的hostname和domain:
postconf -e "myhostname=tazhoubian.net"
postconf -e "mydomain=mail.tazhoubian.net"
postfix reload收到的邮件头:
发件人:www-data <www-data@你的hostnamelinode.com>
邮件原文:
Received: from 你的域名 (unknown [你的服务器IP])
by newmx61.qq.com (NewMx) with SMTP id
for <你的接受邮件地址>; Tue, 13 Aug 2013 11:13:16 +0800
X-QQ-SSF: 110000000000000001F000020000001
X-QQ-mid: mx61t1376363597tnge1fsmw
Received: by 你的域名 (Postfix, from userid 33)
id 1AFCF38D3E; Tue, 13 Aug 2013 11:13:16 +0800 (CST)
To: 你的接受邮件地址
Subject: test
X-PHP-Originating-Script: 0:testtemp.php
Message-Id: <20130813031316.1AFCF38D3E@你的域名>
Date: Tue, 13 Aug 2013 11:13:16 +0800 (CST)
From: www-data@你的hostnamelinode.com (www-data) test - 设置debian 的hostname:
hostname 你的域名
发件人没任何改变。
- 重新配置postfix
dpkg-reconfigure postfix
其中“System mail name”填写你的域名;“Root and postmaster mail recipient”填写空;“other destinations to accept mail for”增加你的域名。
发件人没任何改变 - 经过查资料,发现还是要从mail函数入手,于是修改mail参数:
$isok=mail('你的接受邮件地址','test','test',null,'-fno-reply@你的域名');
收件人改变了:www-data <no-reply@你的域名>
- 继续尝试mail函数:
$isok=mail('你的接受邮件地址','test','test',null,'-Fabc');
收件人改变了:abc <www-data@你的hostnamelinode.com>
- 再来一个-f-F结合使用的:
$isok=mail('你的接受邮件地址','test','test',null,'-Fabc -fno-reply@你的域名');
收件人改变了:abc <no-reply@你的域名>
哈哈,终于成功了。
- 修改mail参数:
- 如果要限制外来主机访问smtp服务,修改/etc/postfix/main.cf里的
inet_interfaces=all
改为
inet_interfaces=localhost
- 屏蔽头部 postfix received:by (Postfix from userid.....
- 在/etc/postfix/main.cf增加
header_checks = regexp:/etc/postfix/header_checks
- 编辑或新建/etc/postfix/header_checks
/^Received:/ IGNORE
- 重启postfix:
/etc/init.d/postfix restart
- 在/etc/postfix/main.cf增加
相关文章
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
- 在服务器上配置仅使用HTTPS通信的教程
- 配置好postfix邮件服务器之后就可以使用它来发送邮件了
- Debian Wheezy的主管:另一个程序已经在监听我们的一个HTTP服务器被配置为使用的端口。
- 在没有smtp的情况下在Delphi中发送电子邮件并在服务器上使用php功能
- 通过在服务器上使用java程序限制来自Java客户端的邮件访问
- 在Windows Server 2008上配置SMTP服务器以从Web应用程序发送电子邮件
- 在Linux系统上使用转发服务器处理邮件通信的教程
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
- 配置好postfix邮件服务器之后就可以使用它来发送邮件了