A-A+

WordPress注册发送邮件

2015年01月09日 站点更新 暂无评论 阅读 2,021 次

一直没有注意过这个问题,直到近日自己想再注册一个用户,才发现根本收不到邮件,网络上一搜一大把的解决方案,为了保持原汁原味,所以没有想着改成立即显示密码,也不太想使用SMTP靠着其它站点发送邮件,所以最后还是尝试着使用Linux的SendMail功能。

首先,不管安装没安装,先尝试卸载sendmail,命令为:

  1. yum remove sendmail

安装postfix,命令为:

  1. yum install postfix

检查是否将MTA改为Postfix,命令为:

  1. alternatives --display mta

最开始安装服务器的时候,我使用的阿里云一体化包,貌似当时就全部配好了,如果MTA不是PostFix,需要更改默认MTA,命令为:

  1. /usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix

编辑main.cf,命令为:

  1. vi /etc/postfix/main.cf

修改以下内容:

1.找到 #myhostname = host.domain.tld , 修改成:myhostname = mail.yujzw.com (你自己的域名)。

2.找到 #mydomain = domain.tld ,将等号后面的部分改写为你的域名,修改成:mydomain = yujzw.com(此处设置将成为E-mail地址“@”后面的部分)。

3.找到 #myorigin = $mydomain ,只需将首行的#号去掉即可,其他无需变动。

4.找到 inet_interfaces = localhost ,将“localhost”改为“all” ,接受来自所有网络的请求。

5.找到 mydestination = $myhostname, localhost.$mydomain, localhost,在行尾添加“$mydomain”,修改成:mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ,指定发给本地邮件的域名。

6.找到 #relay_domains = $mydestination ,只需要将行首的#去掉,定义允许转发的域名。

7.找到 #mynetworks = 168.100.189.0/28, 127.0.0.0/8 去掉前面的#号,指定内网和本地的IP地址范围,按照情况修改,一般无需变动。

9.找到 #home_mailbox = Maildir/ ,去掉行首的#,指定用户邮箱目录。

修改完毕后保存,启动postfix,并将其设置为开机启动,命令为:

  1. service postfix start
  2. chkconfig postfix on

如果从未配置过php.ini文件中的SendMail,则需要重新配置。如果不知道php.ini文件的路径,可以使用以下命令查找:

  1. find / -name php.ini

编辑php.ini文件,命令为:

  1. vi /etc/php.ini

将sendmail_path修改为:

  1. sendmail_path = /usr/sbin/sendmail -t -i

重启服务器后,试用注册功能。

标签:

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: