私はPHPmailerにもう1つ問題があります(私はそれを今のところ嫌いです)。問題はそれが1つのアドレスにしか正しく送信されないことですが、2つのアドレスを試してみたところ、動作しません。これは "setFrom" idが "addAddress"と同じ場合にのみ機能します。私はPHPmailerが特定のアドレスに配信していない
$mail->addAddress('[email protected]');
それとも
$mail->addAddress('[email protected]');
私は何も受信しないにaddAddressを変更した場合は
<?php
if (array_key_exists('email', $_POST)) {
date_default_timezone_set('Europe/Warsaw');
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.poczta.onet.pl';
$mail->SMTPAuth = true;
$mail->SMTPDebug = 2;
$mail->Username = '[email protected]';
$mail->Password = 'password';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
if ($mail->addReplyTo($_POST['email'])) {
$mail->Subject = 'Wiadomość z formularza kontaktowego';
$mail->setFrom('[email protected]');
$mail->addAddress('[email protected]');
$mail->isHTML(false);
$mail->Body = <<<EOT
Email: {$_POST['email']}
Imię: {$_POST['name']}
Wiadomość: {$_POST['message']}
EOT;
if (!$mail->send()) {
$msg = 'Sorry, something went wrong. Please try again later.';
} else {
$msg = 'Message sent! Thanks for contacting us.';
}
} else {
$msg = 'Invalid email address, message ignored.';
}
}
?>
:ここではスクリプトです。また
$mail->addAddress('[email protected]');
$mail->addAddress('[email protected]');
$mail->addAddress('[email protected]');
どちらも機能しません。何故ですか?何が問題なの? SMTPdebugは毎回同じメッセージを1つのアドレスまたは3を返します:
2017-01-31 12:09:32 SERVER -> CLIENT: 220 smtp.poczta.onet.pl ESMTP
2017-01-31 12:09:32 CLIENT -> SERVER: EHLO dobrywebdev.pl
2017-01-31 12:09:32 SERVER -> CLIENT: 250-smtp.poczta.onet.pl 250-PIPELINING 250-SIZE 90000000 250-ETRN 250-AUTH PLAIN LOGIN XOAUTH2 250-AUTH=PLAIN LOGIN XOAUTH2 250-ENHANCEDSTATUSCODES 250 8BITMIME
2017-01-31 12:09:32 CLIENT -> SERVER: AUTH LOGIN
2017-01-31 12:09:32 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2017-01-31 12:09:32 CLIENT -> SERVER: Z3JodUBvbmV0LnBs
2017-01-31 12:09:32 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2017-01-31 12:09:32 CLIENT -> SERVER: R3VwaWFzem1hdGEx
2017-01-31 12:09:32 SERVER -> CLIENT: 235 2.7.0 Authentication successful
2017-01-31 12:09:32 CLIENT -> SERVER: MAIL FROM:
2017-01-31 12:09:32 SERVER -> CLIENT: 250 2.1.0 Ok
2017-01-31 12:09:32 CLIENT -> SERVER: RCPT TO:
2017-01-31 12:09:33 SERVER -> CLIENT: 250 2.1.5 Ok
2017-01-31 12:09:33 CLIENT -> SERVER: RCPT TO:
2017-01-31 12:09:33 SERVER -> CLIENT: 250 2.1.5 Ok
2017-01-31 12:09:33 CLIENT -> SERVER: RCPT TO:
2017-01-31 12:09:34 SERVER -> CLIENT: 250 2.1.5 Ok
2017-01-31 12:09:34 CLIENT -> SERVER: DATA
2017-01-31 12:09:34 SERVER -> CLIENT: 354 End data with .
2017-01-31 12:09:34 CLIENT -> SERVER: Date: Tue, 31 Jan 2017 13:09:32 +0100
2017-01-31 12:09:34 CLIENT -> SERVER: To: [email protected], [email protected], [email protected]
2017-01-31 12:09:34 CLIENT -> SERVER: From: [email protected]
2017-01-31 12:09:34 CLIENT -> SERVER: Reply-To: [email protected]
2017-01-31 12:09:34 CLIENT -> SERVER: Subject: =?utf-8?Q?Wiadomo=C5=9B=C4=87_z_formularza_kontaktowego?=
2017-01-31 12:09:34 CLIENT -> SERVER: Message-ID: <[email protected]>
2017-01-31 12:09:34 CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.22 (https://github.com/PHPMailer/PHPMailer)
2017-01-31 12:09:34 CLIENT -> SERVER: MIME-Version: 1.0
2017-01-31 12:09:34 CLIENT -> SERVER: Content-Type: text/plain; charset=utf-8
2017-01-31 12:09:34 CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
2017-01-31 12:09:34 CLIENT -> SERVER:
2017-01-31 12:09:34 CLIENT -> SERVER: Email: [email protected]
2017-01-31 12:09:34 CLIENT -> SERVER: Imię: xxxxxxx xxxxxxxxxxxx
2017-01-31 12:09:34 CLIENT -> SERVER: Wiadomość: Cześć
2017-01-31 12:09:34 CLIENT -> SERVER:
2017-01-31 12:09:34 CLIENT -> SERVER: .
2017-01-31 12:09:34 SERVER -> CLIENT: 250 2.0.0 Ok: queued as 3vCQ6j0vswzSv6lLW
2017-01-31 12:09:34 CLIENT -> SERVER: QUIT
2017-01-31 12:09:34 SERVER -> CLIENT: 221 2.0.0 Bye
ここで問題が発生する可能性がありますか?私はその1つのアドレスから別のメールにすべての電子メールをリダイレクトすることができますが、私はそれをしたくありません。そのサーバーはエラーが発生したか、スクリプトに何かを追加する必要がありますか?
ログ出力を適切にフォーマットしてください。そのまま読むのはほとんど不可能です。 – GordonM
私の悪い、今より良いはずです。 – grhu