outlook.comのSMTPサーバーを使用してPHPMailerを試していますが、SMTPエラーが発生し続けます PHPMailerのgithubページのサンプルコードに続き、私もSOしかし、答えはPHPMailer SMTPエラー:データが受け付けられません
私の問題は解決しません。これは、コード
<?php
date_default_timezone_set('Etc/UTC');
require_once 'vendor/autoload.php';
$mail = new PHPMailer;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
//Tell PHPMailer to use SMTP
$mail->isSMTP();
$mail->SMTPDebug = 2;
//Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';
//Set the hostname of the mail server
$mail->Host = 'smtp-mail.outlook.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
//Whether to use SMTP authentication
$mail->SMTPAuth = true;
//Username to use for SMTP authentication
$mail->Username = "[email protected]";
//Password to use for SMTP authentication
$mail->Password = "pass";
//Set who the message is to be sent from
$mail->setFrom('[email protected]', 'User');
//Set who the message is to be sent to
$mail->addAddress('[email protected]', 'Recipient');
//Set the subject line
$mail->Subject = 'PHPMailer SMTP test';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';
//send the message, check for errors
if (!$mail->send()) {
echo "<br><br>Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
そして、ここでデバッグ出力は
SERVER -> CLIENT: 220 BLU436-SMTP81.smtp.hotmail.com Microsoft ESMTP MAIL Service, Version: 8.0.9200.16384 ready at Mon, 20 Jun 2016 23:35:39 -0700
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-BLU436-SMTP81.smtp.hotmail.com Hello [139.193.110.46]250-TURN250-SIZE 41943040250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-VRFY250-TLS250-STARTTLS250 OK
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 2.0.0 SMTP server ready
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-BLU436-SMTP81.smtp.hotmail.com Hello [139.193.110.46]250-TURN250-SIZE 41943040250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-VRFY250-AUTH LOGIN PLAIN XOAUTH2250 OK
CLIENT -> SERVER: AUTH LOGIN
SERVER -> CLIENT: 334 VXNlcm5hbWU6
CLIENT -> SERVER: xxx==
SERVER -> CLIENT: 334 UGFzc3dvcmQ6
CLIENT -> SERVER: xxx=
SERVER -> CLIENT: 235 2.7.0 Authentication succeeded
CLIENT -> SERVER: MAIL FROM:<[email protected]>
SERVER -> CLIENT: 250 2.1.0 [email protected] OK
CLIENT -> SERVER: RCPT TO:<[email protected]>
SERVER -> CLIENT: 250 2.1.5 [email protected]
CLIENT -> SERVER: DATA
SERVER -> CLIENT: 354 Start mail input; end with <CRLF>.<CRLF>
CLIENT -> SERVER: Date: Tue, 21 Jun 2016 06:35:39 +0000
CLIENT -> SERVER: To: Recipient <[email protected]>
CLIENT -> SERVER: From: User <[email protected]>
CLIENT -> SERVER: Subject: PHPMailer SMTP test
CLIENT -> SERVER: Message-ID: <[email protected]>
CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.16 (https://github.com/PHPMailer/PHPMailer)
CLIENT -> SERVER: MIME-Version: 1.0
CLIENT -> SERVER: Content-Type: multipart/alternative;
CLIENT -> SERVER: boundary="b1_405c2ef139a1fa30da7bd01a6f945eb0"
CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
CLIENT -> SERVER:
CLIENT -> SERVER: This is a multi-part message in MIME format.
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_405c2ef139a1fa30da7bd01a6f945eb0
CLIENT -> SERVER: Content-Type: text/plain; charset=us-ascii
CLIENT -> SERVER:
CLIENT -> SERVER: This is a plain-text message body
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_405c2ef139a1fa30da7bd01a6f945eb0
CLIENT -> SERVER: Content-Type: text/html; charset=us-ascii
CLIENT -> SERVER:
CLIENT -> SERVER: This is the HTML message body <b>in bold!</b>
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_405c2ef139a1fa30da7bd01a6f945eb0--
CLIENT -> SERVER:
CLIENT -> SERVER: .
SERVER -> CLIENT: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
SMTP ERROR: DATA END command failed: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
SMTP Error: data not accepted.
あなたはすべてのことを正しくやっています。これは、Outlookのauth oddnessのようです。 [このリンク](https://www.example-code.com/csharp/smtp_hotmail_live.asp)には、他の方法で最初にログインするかどうかが明らかになることが示唆されています。あなたのパスワードは簡単に解読されるので、私はそれを編集しますが、おそらくそれを変更するべきです。 – Synchro
具体的な既知の理由がない限り、証明書検証を無効にしないでください。たとえば、ISPのファイアウォールが透過的にリダイレクトした場合、検証が失敗する可能性があります。その場合、パスワードを第三者に渡します。 – Synchro
ありがとうございます、私は自分のパスワードがそこにあったことを知らなかった。私はSSL証明書エラーが発生しているので、検証を無効にしました。まだデベロッパーモードですので、今は大丈夫です。まずは物事を最初に取りたいだけです。 –