详情
本篇只是配置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 = mail.sssss.com
- mydomain = sssss.com
- myorigin = $mydomain
- inet_inte-ces = all
- inet_protocols = ipv4
- mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
- mynetworks = 127.0.0.0/8
- home_mailbox = Maildir/
- mail_spool_directory = /dev/mail
3.找到php.ini配置文件,一般在php安装目录下etc大概位置
修改或者添加这些地方,有些可能多余,具体也不是太清楚,照着改就行
- [mail function]
- ; For Win32 only.
- SMTP = localhost
- smtp_port = 25
- ; For Win32 only.
- ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
- ;sendmail_path = /usr/sbin/sendmail -t
- sendmail_path = /usr/sbin/sendmail -t -i
5.接下来实现php发邮件
编写php文件
- <?php
- $send = mail('这里写收件人例如-@126.com', '这里写主题', '这里写内容','这个位置可写可不写,是邮件头什么的可是自己测试');
- if($send){
- echo 'true';
- }else{
- echo 'false';
- }
- ?>
6.在我收到邮件时候会发现 发件人为www@sssss.com
我想修改www这个参数
接下来我们来修改
第一步.编辑 vim /etc/postfix/canonical
随便找一个能写的地方 因为里面基本都是注释
找个空行写上 www arvo@sssss.com
保存退出
然后再对应目录 运行命令 postmap canonical
第二步.编辑 vim /etc/postfix/main.cf
一般情况下里面没有canonical_maps这个参数 这里我们修改或者添加 canonical_maps = hash:/etc/postfix/canonical
保存退出
postfix reload
重新加载后,在发送一次邮件,就是见证奇迹的时刻,
若还有问题 欢迎交流,——Arvo