请求密码重置电子邮件-wp身份验证时出错

时间:2013-09-11 作者:timshutes

每当用户尝试请求密码重置电子邮件时,我都会收到以下错误:

The e-mail could not be sent.
Possible reason: your host may have disabled the mail() function.
根据我在网上读到的建议,我尝试了几个SMTP插件。没有起作用。最后,我从其中获得了一些调试信息。首先,我使用的SMTP设置(用于gmail)

server:  smtp.gmail.com
port: 587
Security:  TLS
Require Auth:  Yes
User:  <myuser>@gmail.com
Pass:  mypass
结果如下:

The result was:

bool(false)
The full debugging output is shown below:

object(PHPMailer)#365 (65) {
  ["Priority"]=>
  int(3)
  ["CharSet"]=>
  string(5) "UTF-8"
  ["ContentType"]=>
  string(10) "text/plain"
  ["Encoding"]=>
  string(4) "8bit"
  ["ErrorInfo"]=>
  string(95) "The following From address failed: <myuser>@gmail.com : Called Mail() without being connected"
  ["From"]=>
  string(20) "<myuser>@gmail.com"
  ["FromName"]=>
  string(10) "Tim Shutes"
  ["Sender"]=>
  string(0) ""
  ["ReturnPath"]=>
  string(0) ""
  ["Subject"]=>
  string(50) "WP Mail SMTP: Test mail to <myuser>@gmail.com"
  ["Body"]=>
  string(68) "This is a test email generated by the WP Mail SMTP WordPress plugin."
  ["AltBody"]=>
  string(0) ""
  ["MIMEBody:protected"]=>
  string(69) "This is a test email generated by the WP Mail SMTP WordPress plugin.
"
  ["MIMEHeader:protected"]=>
  string(453) "Date: Wed, 11 Sep 2013 20:33:18 +0000
Return-Path: <myuser>@gmail.com
To: <myuser>@gmail.com
From: Tim Shutes 
Subject: WP Mail SMTP: Test mail to <myuser>@gmail.com
Message-ID: 
X-Priority: 3
X-Mailer: PHPMailer 5.2.4 (http://code.google.com/a/apache-extras.org/p/phpmailer/)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

"
  ["mailHeader:protected"]=>
  string(0) ""
  ["WordWrap"]=>
  int(0)
  ["Mailer"]=>
  string(4) "smtp"
  ["Sendmail"]=>
  string(18) "/usr/sbin/sendmail"
  ["UseSendmailOptions"]=>
  bool(true)
  ["PluginDir"]=>
  string(0) ""
  ["ConfirmReadingTo"]=>
  string(0) ""
  ["Hostname"]=>
  string(0) ""
  ["MessageID"]=>
  string(0) ""
  ["MessageDate"]=>
  string(0) ""
  ["Host"]=>
  string(14) "smtp.gmail.com"
  ["Port"]=>
  string(2) "25"
  ["Helo"]=>
  string(0) ""
  ["SMTPSecure"]=>
  string(3) "ssl"
  ["SMTPAuth"]=>
  bool(true)
  ["Username"]=>
  string(20) "<myuser>@gmail.com"
  ["Password"]=>
  string(9) "<mypass>"
  ["AuthType"]=>
  string(0) ""
  ["Realm"]=>
  string(0) ""
  ["Workstation"]=>
  string(0) ""
  ["Timeout"]=>
  int(10)
  ["SMTPDebug"]=>
  int(2)
  ["Debugoutput"]=>
  string(4) "echo"
  ["SMTPKeepAlive"]=>
  bool(false)
  ["SingleTo"]=>
  bool(false)
  ["SingleToArray"]=>
  array(0) {
  }
  ["LE"]=>
  string(1) "
"
  ["DKIM_selector"]=>
  string(0) ""
  ["DKIM_identity"]=>
  string(0) ""
  ["DKIM_passphrase"]=>
  string(0) ""
  ["DKIM_domain"]=>
  string(0) ""
  ["DKIM_private"]=>
  string(0) ""
  ["action_function"]=>
  string(0) ""
  ["Version"]=>
  string(5) "5.2.4"
  ["XMailer"]=>
  string(0) ""
  ["smtp:protected"]=>
  object(SMTP)#364 (11) {
    ["SMTP_PORT"]=>
    int(25)
    ["CRLF"]=>
    string(2) "
"
    ["do_debug"]=>
    int(2)
    ["Debugoutput"]=>
    string(4) "echo"
    ["do_verp"]=>
    bool(false)
    ["Timeout"]=>
    int(10)
    ["Timelimit"]=>
    int(30)
    ["Version"]=>
    string(5) "5.2.4"
    ["smtp_conn:private"]=>
    bool(false)
    ["error:private"]=>
    array(1) {
      ["error"]=>
      string(37) "Called Mail() without being connected"
    }
    ["helo_rply:private"]=>
    NULL
  }
  ["to:protected"]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(23) "<myuser>@gmail.com"
      [1]=>
      string(0) ""
    }
  }
  ["cc:protected"]=>
  array(0) {
  }
  ["bcc:protected"]=>
  array(0) {
  }
  ["ReplyTo:protected"]=>
  array(0) {
  }
  ["all_recipients:protected"]=>
  array(1) {
    ["<myuser>@gmail.com"]=>
    bool(true)
  }
  ["attachment:protected"]=>
  array(0) {
  }
  ["CustomHeader:protected"]=>
  array(0) {
  }
  ["message_type:protected"]=>
  string(5) "plain"
  ["boundary:protected"]=>
  array(3) {
    [1]=>
    string(35) "b1_b0121eb40a93fb27be20cbb901b9250f"
    [2]=>
    string(35) "b2_b0121eb40a93fb27be20cbb901b9250f"
    [3]=>
    string(35) "b3_b0121eb40a93fb27be20cbb901b9250f"
  }
  ["language:protected"]=>
  array(18) {
    ["authenticate"]=>
    string(35) "SMTP Error: Could not authenticate."
    ["connect_host"]=>
    string(43) "SMTP Error: Could not connect to SMTP host."
    ["data_not_accepted"]=>
    string(30) "SMTP Error: Data not accepted."
    ["empty_message"]=>
    string(18) "Message body empty"
    ["encoding"]=>
    string(18) "Unknown encoding: "
    ["execute"]=>
    string(19) "Could not execute: "
    ["file_access"]=>
    string(23) "Could not access file: "
    ["file_open"]=>
    string(33) "File Error: Could not open file: "
    ["from_failed"]=>
    string(35) "The following From address failed: "
    ["instantiate"]=>
    string(36) "Could not instantiate mail function."
    ["invalid_address"]=>
    string(15) "Invalid address"
    ["mailer_not_supported"]=>
    string(25) " mailer is not supported."
    ["provide_address"]=>
    string(54) "You must provide at least one recipient email address."
    ["recipients_failed"]=>
    string(45) "SMTP Error: The following recipients failed: "
    ["signing"]=>
    string(15) "Signing Error: "
    ["smtp_connect_failed"]=>
    string(22) "SMTP Connect() failed."
    ["smtp_error"]=>
    string(19) "SMTP server error: "
    ["variable_set"]=>
    string(30) "Cannot set or reset variable: "
  }
  ["error_count:protected"]=>
  int(2)
  ["sign_cert_file:protected"]=>
  string(0) ""
  ["sign_key_file:protected"]=>
  string(0) ""
  ["sign_key_pass:protected"]=>
  string(0) ""
  ["exceptions:protected"]=>
  bool(false)
}
The SMTP debugging output is shown below:

SMTP -> ERROR: Failed to connect to server: Permission denied (13)

The following From address failed: <myuser>@gmail.com : Called Mail() without being connected
此行为仅在远程站点上存在。密码恢复电子邮件在本地版本上运行良好。此外,我的理解是,如果这只是一个webhost问题,SMTP插件本可以工作,但事实并非如此。

有人能给我指一下正确的方向吗?你可以看到这里的行为:abundancellc。com/wp admin-尝试请求密码重置,并以用户身份键入“testuser”。

顺便说一句,我在设置“testuser”时没有遇到任何问题,但我从来没有收到过带有密码的电子邮件,即使我请求了一封。发生什么事了?如果是rackspace服务器,为什么SMTP插件不能工作?

3 个回复
最合适的回答,由SO网友:Joshua 整理而成

听起来像是服务器配置问题,而不是WordPress问题。你说你在使用货架空间?我个人没有使用Rackspace的经验,但似乎他们在默认PHP方面存在一些已知问题mail() 作用请参见:

  1. http://feedback.rackspace.com/forums/71021-product-feedback/suggestions/1873281-fully-support-php-mail-function-
  2. http://www.joshuawinn.com/huge-email-delays-on-rackspace-cloud-sites-dont-use-php-mail/
主要问题是,直接发送邮件()不会使用开放式中继对发件人进行身份验证,这可能会被滥用,而且机架空间似乎会延迟或无法很好地支持。这就是它没有像你通常期望的那样工作的原因。

尝试使用SMTP插件迈出了伟大的第一步,因为这是普遍接受的解决方法。如果PHPMailer给您带来问题,可能是原始配置的问题。您还可以尝试使用SSL而不是TLS的端口465,这通常是最大的问题。此外,您是否使用Google提供的任何额外安全机制,例如双因素身份验证或特定于应用程序的密码?这是另一件需要注意的事情。

如果您有任何其他详细信息或证据,请与我们分享。

SO网友:Rick Hellewell

由于“发件人”电子邮件不在您的域中,而是在gmail上,因此您的主机可能会阻止该电子邮件作为“中继”。

您应该(通常)将“from”设置为[email protected],正在更改“mydomain”。com\'到您的实际域。还有[email protected]电子邮件帐户需要存在。

因为你从[email protected],则“发件人”值的域名与您域的邮件记录不匹配,托管服务将阻止此操作,因为这是一次“邮件中继”尝试。(垃圾邮件发送者喜欢使用邮件中继发送垃圾邮件,因此大多数托管服务和收件人都会阻止这种尝试。)

因此,当使用mail() 函数,请确保“from”参数为[email protected],因此发件人电子邮件中的域与您的域匹配。如果希望他们回复其他电子邮件地址,请设置“回复到”标题。

即使你成功了,也应该确保发件人电子邮件(“发件人”电子邮件地址)属于你的域,并且发件人电子邮件帐户存在于你的域/托管帐户中。

SO网友:Jossie Calderon

您是否确保您的用户admin 具有相应的“email“?

我的没有,一旦我添加了电子邮件,问题就解决了。

结束

相关推荐

Admin-ajax.php不再加载

我正在研究wordpress 3.6。一切都很好,但在启动网站之前,管理员更改了域名。所有内容都保留在同一台服务器中。我们不需要移动任何文件,所有文件和文件夹都保持在以前的相对位置。为了处理域名的变化,我用Search & Replace DB 据我所知,脚本和所有内容在前端都运行良好。然而,后端存在一些问题。最令人讨厌的是管理ajax。php不再加载,阻止我们添加/删除/编辑图像和所有其他需要此脚本的任务。这是FIREBUG在编辑帖子并单击“添加媒体”时给我的信息:GET http://word