VPS主机上建立WordPress网站后怎样实现邮件发送功能

VPS主机上建立WordPress网站后怎样实现邮件发送功能
Wordpress通过mail()函数来实现邮件发送,而mail函数需要sendmail模块支持才能正常工作。

一般来说大多数人都是直接购买虚拟主机来搭建wordpress博客,而虚拟主机一般都默认安装了senmail模块,因此缺省的建在直接购买的虚拟主机上的wordpress的邮件发送功能是直接可以正常工作的。而在VPS上,需要手工安装sendmail模块予以实现。

一般情况下,VPS是需要安装VPS控制面板的,以便于对主机环境进行配置、方便建站和网站维护。有的VPS面板的安装程序已经集成了sendmail模块的安装,当vps控制面板安装完成后,wordpress的邮件发送也就可以直接使用了。如果sendmail模块没有被一起安装,则需要手工安装。

下面以Ubuntu为例说明如何安装sendmail:
1、安装:apt-get install sendmail
2、启动服务:service sendmail start
3、设置sendmail开机自动运行:
apt-get install chkconfig
chkconfig sendmail on
4.修改下php.ini的配置,调用sendmail功能:
vim /usr/local/php/etc/php.ini
找到有关sendmail_path的那一行,去掉行首注释,并改成如下的样子:
sendmail_path = /usr/sbin/sendmail -t –i

下面是centos下安装和配置sendmail:
1、 Sendmail安装
在CentOS下,sendmail一般默认是随操作系统一起安装的。如果安装系统时没有安装sendmail服务,手动安装sendmail也很简单:
# yum install -y sendmail
# yum install -y sendmail-cf
2、 Senmail的SMTP认证配置(不需要认证的可忽略此步)
首先确认saslauthd服务是否安装或启动。
安装saslauthd服务:# yum install -y saslauthd
启动saslauthd服务:# service saslauthd start
(1) 配置Senmail的SMTP认证
# vi /etc/mail/sendmail.mc
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。
(2) 设置Sendmail服务的网络访问权限
# vi /etc/mail/sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
将127.0.0.1改为0.0.0.0,意思是任何主机都可以访问Sendmail服务。如果仅让某一个网段能够访问到Sendmail服务,将127.0.0.1改为形如192.168.1.0/24的一个特定网段地址。
3、 生成Sendmail配置文件
Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装。
生成Sendmail的配置文件:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
需要重启Sendmail才能使配置文件生效。
4、 Sendmail邮件域名配置
配置sendmail使用合法的域名分两步,修改sendmail的配置文件和添加域名MX记录。
sendmail可以直接使用 “-r account@domain.com” 参数来以任意源地址发送邮件,但目前主流的邮箱都会将源地址和反向解析IP进行比较,如果解析不到或是解析的IP不匹配,轻则将邮件直接归为SPAM,严重的就直接拒绝接收。
MX记录(Mail Exchanger Record)主要是接收邮件时使用,即当投递一封新邮件时,会查询收件人域名的MX记录,然后通过MX记录得到的IP地址进行投递。同时邮件厂商在接收邮件的时候也会将源地址和MX记录进行比较,作为垃圾邮件的判断标准之一。
第一步:添加域名
(1) 将域名加入到local-host-names文件
# vi /etc/mail/local-host-names,添加
abc123.com
(2) 修改submit.cf文件
# vi /etc/mail/submit.cf,找到行 #Dj$w.Foo.COM,修改为
Djabc123.com

至此,sendmail邮件命名配置完毕,重启sendmail使配置生效。

要使建在VPS上的wordpress能够发送邮件,还需要设定PHP.ini:
vim /usr/local/php/etc/php.ini
找到有关sendmail_path的那一行,去掉行首注释,并改成如下的样子:
sendmail_path = /usr/sbin/sendmail -t –i

未经允许不得转载:哈勃私语 » VPS主机上建立WordPress网站后怎样实现邮件发送功能

本文共2169个字 创建时间:2017年8月4日13:17   

分享到:更多 ()