本篇只是配置php+postfix 实现发送邮件功能
一.环境条件(我这里使用阿里云的linux系统)
1.yum 命令可用
2.sendmail确定卸载
3.php环境安装好的
二.步骤
在安装之前有一个解析域名的步骤(这一步是转载别人的),照着做就是了。
为邮件服务器添加DNS解析
虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。根据我们的实际经验,需要添加三条DNS解析记录:A记录、MX记录、TXT记录。比如域名cnblogs.info,对应的DNS记录如下:
解析之后 我们开始安装
1.输入安装postfix命令
yum install postfix
2.找到/etc/postfix 修改main.cf配置
找到以下对应位置 修改相应位置
myhostname = mydomain = myorigin = $mydomaininet_interfaces = allinet_protocols = ipv4mydestination = $myhostname, localhost.$mydomain, localhost, $mydomainmynetworks = 127.0.0.0/8 home_mailbox = Maildir/mail_spool_directory = /dev/mail
3.找到php.ini配置文件,一般在php安装目录下etc大概位置
修改或者添加这些地方,有些可能多余,具体也不是太清楚,照着改就行
[mail function]; For Win32 only.SMTP = localhostsmtp_port = 25; For Win32 only.; For Unix only. You may supply arguments as well (default: "sendmail -t -i").;sendmail_path = /usr/sbin/sendmail -tsendmail_path = /usr/sbin/sendmail -t -i
4.重启一下reboot 就可以了
5.接下来实现php发邮件
编写php文件
<?php$send = mail('这里写收件人例如xxx@', '这里写主题', '这里写内容','这个位置可写可不写,是邮件头什么的可是自己测试');if($send){echo 'true';}else{echo 'false';}?>
打开随便电脑浏览器,去访问对应服务器的 该php文件,如果返回true 就说明成功了,就能收到邮件。
6.在我收到邮件时候会发现 发件人为www@
我想修改www这个参数
接下来我们来修改
第一步.编辑 vim /etc/postfix/canonical
随便找一个能写的地方 因为里面基本都是注释
找个空行写上 www arvo@
保存退出
然后再对应目录 运行命令 postmap canonical
第二步.编辑 vim /etc/postfix/main.cf
一般情况下里面没有canonical_maps这个参数 这里我们修改或者添加canonical_maps = hash:/etc/postfix/canonical
保存退出
postfix reload
重新加载后,在发送一次邮件,就是见证奇迹的时刻,
若还有问题 欢迎交流,——Arvo