WordPress疑难解答:无法收到电子邮件发送的密码

导语:我们来看看这个WordPress问题,一个关于电子邮件发送了密码,但用户却无法收到的问题。或许,我们在使用WordPress的时候,会开放用户注册,那么就有可能使用电子邮件来发送密码,我们来看看这个问题WordPress是怎么回答的。

问题的英文标题:E-mailed passwords are not being received

描述


在你的博客上,用户尝试注册或者通过用户名或电子邮箱来改变他们的密码。这时,WordPress显示已经将密码发送给他们了,但是他们却从未收到过。

原因和解决方案


WordPress使用标准的PHP mail()函数来发送邮件,无需帐户信息。如果你使用的是主机托管服务那么这通常不是一个问题,但是,如果你使用自己没有SMTP服务器的系统框架,那邮件是不会被发送的。如果你使用*NIX框架,那么在你的机器上应该有sendmail或者任何其他后缀的sendmail。你只需要设置他们(请在互联网上搜索怎样操作)。如果你不想在*NIX框架中建立一个完整的邮件服务器,那么,你会发现ssmtp非常有用–它提供“一个安全的、有效的和简单的收邮件的系统链接到你的邮件中心”。在Windows机器上,尝试类似Glob SendMail的电子邮件模拟器。

你可以在WordPress支持论坛的这个主题中获得更多的帮助:http://wordpress.org/support/topic.php?id=24981 如果想使用插件,那么可以看看这个插件Configure SMTP:”Configure SMTP mailing in WordPress, including support for sending e-mail via SSL/TLS (such as GMail).”

注意这个插件很久都没有更新了

windows主机服务器特别提示


在SMTP可视化服务器上点击你的“Relay”设置。授权访问127.0.0.1。然后在你的php.ini文件中,为SMTP选项设置相同的IP地址,另外再设置端口参数smtp_port 为25。

确保使用正确的返回地址


默认情况下,WordPress的信封填写:

邮件地址:wordpress@yourdomain.com。
发件人:WordPress。

如果这是一个有效的电子邮件地址,那么非常好。例如,如果你的真实电子邮箱是wordpress@yourdomain.com,我们的主机应该会通过这电子邮箱的发送。只要你的yourdomain.com设置了发送和接受邮件,那么它可能会发送你的邮件,即使wordpress不是一个有效的邮箱。但如果你把你真实的电子邮件设为:类似wpgod@gmail.com的地址,那么邮件可能会无法发送,原因是gmail.com不是这台邮件服务器可以处理的域名。

被视为垃圾邮件


您的电子邮件可能已被转移到一个垃圾邮件文件夹,甚至更糟的是,恶意简单地被丢弃。这样的话,你可以采取以下两个措施说服收件人的邮件服务器你的消息是合法的,在邮件送达时解决被视为垃圾邮件的问题。

SPF


(发件人策略框架)这是最常见的反垃圾邮件措施。如果你在一个托管的系统上,对你而言是一个好的机会,你的主机可以为你正在使用的这台邮件服务器更新设置。有WordPress发邮件给你,会因为要检查该消息通过SPF检查的证据而检查消息头部。你可以在登录页跟随“忘记密码”链接后获得一个消息。不要跟随消息中的链接,保留你的旧密码。如果你的系统邮件SPF检查失败,那么在邮件服务器的域名属于你并且你可以访问你的DNS记录的情况下,你可以设置凭据。检查你的系统发送的电子邮件的返回路径。如果邮件服务器列表中有你的域名,那么你可以设置SPF的凭据。

DKIM


(域键辨别邮件)这个系统也被使用。你可以在同一个信息中同时使用SPF和DKIM。同样的,就像SPF一样,如果您的接收邮件服务器通过检查邮件头验证您的主机的域密钥,那么你可以检查。有一个无需签名密钥的合理机会,指示您的主机选择不使用此协议。与SPF一样,在邮件服务器的域名属于你并且你可以访问你的DNS记录的情况下,你自己可以设置DKIM凭据。如果你在网上搜索,那么会找到一些如何设置的文章。

让WordPress发送适当的DKIM键,可以使用 ‘phpmailer_init’ 钩子。你通过$phpmailer对象设置必要的属性并返回这个对象。要获得更多的信息请查类源代码,它们都包含在wp-includes/class-phpmailer.php里。

结束


大家学会了么?其实对于SPF和DKIM,我在翻译的过程中是看得云里雾里,希望大家不要被我误导,毕竟我的翻译水平有限。

发表评论

邮箱地址不会被公开。 必填项已用*标注