废话少说,直接上方案:
本来enfold主题采用的是contact form表单,但是由于是国外服务器,当网站用户发送询盘的时候,网站管理员会收到类似如下的东西:
客户想取消这个由xxx代发的问题,这个一时让我不知道如何解决,我开始着手从服务器方面解决,直到看到了这么一篇文章:
原文地址:sendmail发送邮件显示代发解决方案
说的如下:
在网站上很多地方都需要发送邮件,如用户的激活,找回密码等,因此发送邮件是站点的基本需要。之前使用虚拟主机构建站点的时候用phpmailer通过smtp协议来发送邮件。现在有了自己的服务器,就可以考虑自己搭建服务器来发送邮件,好处一是发送人可以设置为诸如‘admin@example.com’之类增加可信度,另外一个则是能够提高发送邮件的速度。
sendmail是linux系统下著名的邮件收发软件。服务器系统是ubuntu 10.04LTS,下面说一下安装和配置的过程,以备后用。
配置sendmail:
添加本地域名:
sudo vim /etc/mail/local-host-names
在文件里面输入域名, 例如:
example.com
修改submit.cf文件:
sudo vim /etc/mail/submit.cf
找到行 #Dj$w.Foo.COM,修改为:
Djexample.com
注意域名前加Dj是其格式(具体没查是什么意思)
添加域名MX(Mail eXchanger)记录, 这部分应该在域名提供商的控制面板里面更改。
重启服务:
sudo service sendmail restart
经过这几步之后sendmail服务已经配置好,就支持收发邮件。但是注意目前的配置只允许本机用户(127.0.0.1)收发邮件,而且发信的速度会很慢。默认的发信人是 username@hostname,username为系统的当前登陆用户,hostname是服务器的主机名。这样发出去的邮件极大的可能被认为是垃圾邮件而拒收。经过测试gmail能接收,但是139邮箱就拒收。详细信息可以查看记录文件,默认为: /var/log/mail.log
通过查看记录,同样可以找到发信慢的原因,那就是 hostname不能被解析。所以需要在host文件里加入hostname的支持:
sudo vim /etc/hosts
解析本机地址:
127.0.0.1 example.com localhost hostname
从国外的论坛上看到这个顺序比较重要,应该按照这个格式解析本机地址。
经过这样设置,发送邮件的速度应该提高许多, 如果还需要更好的速度,可以使用 djbdns这个软件利用缓存的dns提高速度。
配置好邮件服务器之后,接下来就是应用了。修改php的配置让其mail使用内置的sendmail来发送邮件:
sudo vim /etc/php5/apache2/php.ini
找到 sendmail_path,修改为:
sendmail_path=/usr/sbin/sendmail -t -i -f'admin@example.com'
注意-t -i选项应该在-f前面,否则无效。-f指定邮件的发件人,而不是显示”由 xxx 代发”的字眼。
这样一来sendmail和php都配置好了,接下里就是在网页脚本里调用mail函数即可。
以上是别人说的,这里我补充一下自己的实践结果,我这里采用contact form 7这个插件,然后设置好相关的东西,然后安装了另外一个插件:WP Mail SMTP
然后保持默认设置,如下就好了:
先发一条测试电邮,如果被添加到了垃圾桶或者被屏蔽了,可以下加入白名单,然后再次发送测试电邮的时候,就显示如下:
搞定!
未经允许不得转载:哈勃私语 » wordpress网站的联系表单取消由XXX代发的问题
本文共1493个字 创建时间:2018年4月4日18:53