web-dev-qa-db-ja.com

パスワード再設定Eメールの要求時のエラー - WP認証

ユーザーがパスワード再設定Eメールを要求しようとすると、次のエラーが表示されます。

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

この動作はリモートサイトにのみ存在します。パスワード回復のEメールはローカルビルドでは問題なく動作します。さらに、これが単なるWebホストの問題であれば、SMTPプラグインは機能したはずですが、機能しませんでした。

誰かが私をここで正しい方向に向けることができますか?あなたはここで振る舞いを見ることができます:abundancellc.com/wp-admin - パスワードのリセットを要求し、ユーザーとして "testuser"をタイプしてみてください。

ちなみに、 "testuser"の設定に問題はありませんでしたが、パスワードを要求したにもかかわらず、パスワードが記載された電子メールが届きませんでした。どうしたの?それがラックスペースサーバーだとしたら、なぜSMTPプラグインは動作しないのでしょうか?

2
timshutes

WordPressの問題ではなく、サーバー構成の問題のように思えます。あなたはあなたがRackspaceを使っていたと言った?私は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/ /

主な問題は、mail()を使って直接送信することはオープンリレーを使って送信者を認証しないことです。それはあなたが通常期待しているようにうまくいかないことです。

SMTPプラグインを使用しようとする最初のステップは、一般的に受け入れられている回避策です。 PHPMailerがあなたに問題を与えている場合、それは元の設定の問題かもしれません。 TLSの代わりにSSLを使用してポート465を試すこともできます。これは多くの場合最大の問題です。また、2要素認証やアプリケーション固有のパスワードなど、Googleが提供する追加のセキュリティメカニズムを使用していますか。それは気をつけるべきもう一つのことです。

他に詳細や証拠があれば共有してください。

2
Joshua

'from'メールはドメインではなくgmailにあるため、あなたのホストは 'リレー'としてメールをブロックしているかもしれません。

(通常) 'from'を[email protected]のようなものに設定し、 'mydomain.com'を実際のドメインに変更する必要があります。そして、[email protected]という電子メールアカウントが存在する必要があります。

[email protected]からメールを送信したため、 'from'値のドメイン名がドメインのメールレコードと一致しないため、ホスティングサービスはそれを 'メールリレー'の試みとしてブロックします。 (スパマーはスパムにメールリレーを使用することを好むため、ほとんどのホスティングサービス(および受信者)はその試みをブロックします。)

そのため、mail()関数を使用するときは、 'from'パラメータが[email protected]であることを確認してください。そうすることで、from電子メール内のドメインが自分のドメインと一致するようになります。あなたが彼らに別のEメールアドレスに返信させたい場合は、 'Reply-To'ヘッダを設定してください。

それがうまくいったとしても、送信者のEメール( 'from' Eメールアドレス)があなたのドメインに属していること、そして送信者のEメールアカウントがあなたのドメイン/ホスティングアカウントに存在することを必ず確認してください。

1
Rick Hellewell

あなたのユーザーadminが対応する "email"を持っていることを確認しましたか?

Mineはしなかった、そして私がEメールを追加するとそれは解決された。

0
Jossie Calderon