在Debian 7系统配置Exim4,方便php mail函数使用
感谢 song。
原因:好些php程序,会使用php的mail函数来发送邮件,但有的Linux系统默认没有配置MTA,所以邮件不能成功发出。
目的:配置Exim4,使用php mail能成功发出邮件。
环境:Debian 7,web + php(已经安装)。
过程:
1.运行 Exim4 配置命令:
dpkg-reconfigure exim4-config
2.请选择: internet site; mail is sent and received directly using SMTP
3.填写发送邮件的域,如 yun.anqun.org
4.填写监听的网络地址,如只在本地使用,就填写:127.0.0.1
5.填写本地的域,如 localhost; yun.anqun.org
6.如无relay mail需求,可留空
7.不启用 DNS-queries minimal
8.选择邮件存储方式
9.是否合并保存配置文件
10.是否设置root和postmaster的转发地址
11.新建一个teste.php的文件,保存在站点目录,内容如下:
<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = "www-data@yun.anqun.org";
$to = "test_eamil@aliyun.com";
$subject = "PHP Mail Test script";
$message = "This is a test to check the PHP Mail functionality";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo "Test email sent";
?>
12.用浏览器访问teste.php文件,返回“Test email sent”,且目的邮箱地址收到测试邮件
注意:测试中,可能如网易邮局会将邮件归类为“垃圾邮件”,腾讯邮局直接拒绝连接(提示:550 Ip frequency limited. http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000725)。
参考:
- Simple PHP Mail test, https://www.conetix.com.au/support/article/simple-php-mail-test
- Exim4 problems, http://forums.debian.net/viewtopic.php?p=209467
- Default MTA, https://wiki.debian.org/Debate/DefaultMTA