ユーザーがパスワード再設定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プラグインは動作しないのでしょうか?
WordPressの問題ではなく、サーバー構成の問題のように思えます。あなたはあなたがRackspaceを使っていたと言った?私はRackspaceの個人的な経験はありませんが、デフォルトのPHP mail()
関数に既知の問題がいくつかあるようです。見る:
主な問題は、mail()を使って直接送信することはオープンリレーを使って送信者を認証しないことです。それはあなたが通常期待しているようにうまくいかないことです。
SMTPプラグインを使用しようとする最初のステップは、一般的に受け入れられている回避策です。 PHPMailerがあなたに問題を与えている場合、それは元の設定の問題かもしれません。 TLSの代わりにSSLを使用してポート465を試すこともできます。これは多くの場合最大の問題です。また、2要素認証やアプリケーション固有のパスワードなど、Googleが提供する追加のセキュリティメカニズムを使用していますか。それは気をつけるべきもう一つのことです。
他に詳細や証拠があれば共有してください。
'from'メールはドメインではなくgmailにあるため、あなたのホストは 'リレー'としてメールをブロックしているかもしれません。
(通常) 'from'を[email protected]のようなものに設定し、 'mydomain.com'を実際のドメインに変更する必要があります。そして、[email protected]という電子メールアカウントが存在する必要があります。
[email protected]からメールを送信したため、 'from'値のドメイン名がドメインのメールレコードと一致しないため、ホスティングサービスはそれを 'メールリレー'の試みとしてブロックします。 (スパマーはスパムにメールリレーを使用することを好むため、ほとんどのホスティングサービス(および受信者)はその試みをブロックします。)
そのため、mail()
関数を使用するときは、 'from'パラメータが[email protected]であることを確認してください。そうすることで、from電子メール内のドメインが自分のドメインと一致するようになります。あなたが彼らに別のEメールアドレスに返信させたい場合は、 'Reply-To'ヘッダを設定してください。
それがうまくいったとしても、送信者のEメール( 'from' Eメールアドレス)があなたのドメインに属していること、そして送信者のEメールアカウントがあなたのドメイン/ホスティングアカウントに存在することを必ず確認してください。
あなたのユーザーadmin
が対応する "email
"を持っていることを確認しましたか?
Mineはしなかった、そして私がEメールを追加するとそれは解決された。