Я настроил веб-сервер для использования SMTP-сервера для отправки электронных писем.
Вот раздел записей журнала, созданных, когда я пытаюсь отправить тестовое электронное письмо:
2016-02-03 10:20:01 CLIENT -> SERVER: STARTTLS
2016-02-03 10:20:01 SMTP -> get_lines(): $data was ""
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "220 2.0.0 SMTP server ready
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "220 2.0.0 SMTP server ready
"
2016-02-03 10:20:01 SERVER -> CLIENT: 220 2.0.0 SMTP server ready
2016-02-03 10:20:01 SMTP Error: Could not connect to SMTP host.
2016-02-03 10:20:01 CLIENT -> SERVER: QUIT
2016-02-03 10:20:01 SMTP -> get_lines(): $data was ""
2016-02-03 10:20:01 SMTP -> get_lines(): $str is ""
2016-02-03 10:20:01 SMTP -> get_lines(): $data is ""
2016-02-03 10:20:01 SERVER -> CLIENT:
2016-02-03 10:20:01 SMTP ERROR: QUIT command failed:
2016-02-03 10:20:01 Connection: closed
2016-02-03 10:20:01 SMTP Error: Could not connect to SMTP host.
Что может быть проблема?
РЕДАКТИРОВАТЬ: Ниже приведен полный журнал, созданный плагином WP Mail SMTP в WordPress. (Я заменил настоящие домены на example.com для обеспечения конфиденциальности).
Test Message Sent
The result was:
bool(false)
The full debugging output is shown below:
object(PHPMailer)#752 (73) {
["Version"]=>
string(6) "5.2.10"
["Priority"]=>
int(3)
["CharSet"]=>
string(5) "UTF-8"
["ContentType"]=>
string(10) "text/plain"
["Encoding"]=>
string(4) "8bit"
["ErrorInfo"]=>
string(43) "SMTP Error: Could not connect to SMTP host."
["From"]=>
string(17) "sender@example.com"
["FromName"]=>
string(14) "Administration"
["Sender"]=>
string(0) ""
["ReturnPath"]=>
string(0) ""
["Subject"]=>
string(45) "WP Mail SMTP: Test mail to recipient@example.com"
["Body"]=>
string(68) "This is a test email generated by the WP Mail SMTP WordPress plugin."
["AltBody"]=>
string(0) ""
["Ical"]=>
string(0) ""
["MIMEBody":protected]=>
string(69) "This is a test email generated by the WP Mail SMTP WordPress plugin.
"
["MIMEHeader":protected]=>
string(392) "Date: Wed, 3 Feb 2016 10:20:01 +0000
To: recipient@example.com
From: Administration
Subject: WP Mail SMTP: Test mail to recipient@example.com
Message-ID:
X-Priority: 3
X-Mailer: PHPMailer 5.2.10 (https://github.com/PHPMailer/PHPMailer/)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
"
["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(14) "www.example.com"
["MessageID"]=>
string(0) ""
["MessageDate"]=>
string(30) "Wed, 3 Feb 2016 10:20:01 +0000"
["Host"]=>
string(12) "192.168.1.23"
["Port"]=>
string(2) "25"
["Helo"]=>
string(0) ""
["SMTPSecure"]=>
string(0) ""
["SMTPAutoTLS"]=>
bool(true)
["SMTPAuth"]=>
bool(true)
["SMTPOptions"]=>
array(0) {
}
["Username"]=>
string(9) "workflow"
["Password"]=>
string(10) "example"
["AuthType"]=>
string(0) ""
["Realm"]=>
string(0) ""
["Workstation"]=>
string(0) ""
["Timeout"]=>
int(300)
["SMTPDebug"]=>
bool(true)
["Debugoutput"]=>
string(4) "echo"
["SMTPKeepAlive"]=>
bool(false)
["SingleTo"]=>
bool(false)
["SingleToArray"]=>
array(0) {
}
["do_verp"]=>
bool(false)
["AllowEmpty"]=>
bool(false)
["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) ""
["XMailer"]=>
string(0) ""
["smtp":protected]=>
object(SMTP)#643 (13) {
["Version"]=>
string(6) "5.2.10"
["SMTP_PORT"]=>
int(25)
["CRLF"]=>
string(2) "
"
["do_debug"]=>
bool(true)
["Debugoutput"]=>
string(4) "echo"
["do_verp"]=>
bool(false)
["Timeout"]=>
int(300)
["Timelimit"]=>
int(300)
["smtp_conn":protected]=>
NULL
["error":protected]=>
array(4) {
["error"]=>
string(0) ""
["detail"]=>
string(0) ""
["smtp_code"]=>
string(0) ""
["smtp_code_ex"]=>
string(0) ""
}
["helo_rply":protected]=>
NULL
["server_caps":protected]=>
NULL
["last_reply":protected]=>
string(0) ""
}
["to":protected]=>
array(1) {
[0]=>
array(2) {
[0]=>
string(18) "recipient@example.com"
[1]=>
string(0) ""
}
}
["cc":protected]=>
array(0) {
}
["bcc":protected]=>
array(0) {
}
["ReplyTo":protected]=>
array(0) {
}
["all_recipients":protected]=>
array(1) {
["recipient@example.com"]=>
bool(true)
}
["attachment":protected]=>
array(0) {
}
["CustomHeader":protected]=>
array(0) {
}
["lastMessageID":protected]=>
string(49) ""
["message_type":protected]=>
string(5) "plain"
["boundary":protected]=>
array(3) {
[1]=>
string(35) "b1_f87804706227482a31d3248b0776feb6"
[2]=>
string(35) "b2_f87804706227482a31d3248b0776feb6"
[3]=>
string(35) "b3_f87804706227482a31d3248b0776feb6"
}
["language":protected]=>
array(19) {
["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: "
["extension_missing"]=>
string(19) "Extension missing: "
}
["error_count":protected]=>
int(2)
["sign_cert_file":protected]=>
string(0) ""
["sign_key_file":protected]=>
string(0) ""
["sign_extracerts_file":protected]=>
string(0) ""
["sign_key_pass":protected]=>
string(0) ""
["exceptions":protected]=>
bool(true)
["uniqueid":protected]=>
string(32) "f87804706227482a31d3248b0776feb6"
}
The SMTP debugging output is shown below:
2016-02-03 10:20:01 Connection: opening to 192.168.1.23:25, timeout=300, options=array (
)
2016-02-03 10:20:01 Connection: opened
2016-02-03 10:20:01 SMTP -> get_lines(): $data was ""
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "220 AEADTWMAVSM002.example.com Microsoft ESMTP MAIL Service ready at Wed, 3 Feb 2016 14:20:01 +0400
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "220 AEADTWMAVSM002.example.com Microsoft ESMTP MAIL Service ready at Wed, 3 Feb 2016 14:20:01 +0400
"
2016-02-03 10:20:01 SERVER -> CLIENT: 220 AEADTWMAVSM002.example.com Microsoft ESMTP MAIL Service ready at Wed, 3 Feb 2016 14:20:01 +0400
2016-02-03 10:20:01 CLIENT -> SERVER: EHLO www.example.com
2016-02-03 10:20:01 SMTP -> get_lines(): $data was ""
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-SIZE 10485760
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-PIPELINING
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-DSN
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-ENHANCEDSTATUSCODES
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-STARTTLS
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-AUTH
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-8BITMIME
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250-BINARYMIME
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
250-BINARYMIME
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data was "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
250-BINARYMIME
"
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "250 CHUNKING
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
250-BINARYMIME
250 CHUNKING
"
2016-02-03 10:20:01 SERVER -> CLIENT: 250-AEADTWMAVSM002.example.com Hello [192.168.3.51]
250-SIZE 10485760
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
250-BINARYMIME
250 CHUNKING
2016-02-03 10:20:01 CLIENT -> SERVER: STARTTLS
2016-02-03 10:20:01 SMTP -> get_lines(): $data was ""
2016-02-03 10:20:01 SMTP -> get_lines(): $str is "220 2.0.0 SMTP server ready
"
2016-02-03 10:20:01 SMTP -> get_lines(): $data is "220 2.0.0 SMTP server ready
"
2016-02-03 10:20:01 SERVER -> CLIENT: 220 2.0.0 SMTP server ready
2016-02-03 10:20:01 SMTP Error: Could not connect to SMTP host.
2016-02-03 10:20:01 CLIENT -> SERVER: QUIT
2016-02-03 10:20:01 SMTP -> get_lines(): $data was ""
2016-02-03 10:20:01 SMTP -> get_lines(): $str is ""
2016-02-03 10:20:01 SMTP -> get_lines(): $data is ""
2016-02-03 10:20:01 SERVER -> CLIENT:
2016-02-03 10:20:01 SMTP ERROR: QUIT command failed:
2016-02-03 10:20:01 Connection: closed
2016-02-03 10:20:01 SMTP Error: Could not connect to SMTP host.
Поскольку вы используете плагин WP Mail SMTP, лучше всего начать отсюда: http://callum-macdonald.com/code/wp-mail-smtp . Вот что говорит разработчик:
Не удалось подключиться к хосту
Если вы видите ошибку типа «Не удалось подключиться к серверу», плагин не работает. работает, PHP не может подключиться к серверу. Посмотрите на всю ошибку сообщение и расследуйте оттуда. Проверьте свои настройки php.ini вокруг fopen (), проверьте правильность вашего SMTP-хоста или свяжитесь с вашим администратор сервера.
Если ваша ошибка - «Не удается подключиться к хосту», обратитесь в службу поддержки. где-либо еще, пожалуйста, не просите поддержки здесь. Эти вопросы имеют спрашивали много раз раньше, пожалуйста, поищите в истории. Плагин работает, проблема кроется в другом.
Поскольку вы не опубликовали свои настройки для плагина, и поскольку он предлагает различные возможности конфигурации, вот несколько моментов, которые могут вам помочь.
Предположительно - вы настроили свой SMTP-клиент так, чтобы он требовал безопасных соединений (отсюда и запрос STARTTLS к серверу), но SMTP-сервер его не понимает, поэтому клиент решает это не удается подключиться?
(Также возможно, что вы пытаетесь подключиться к порту 25, а не к порту 587, который чаще используется для TLS SMTP. Если вы подключаетесь к порту 25, вам необходимо выполнить рукопожатие сервера перед выдача команды "STARTTLS").