0

PHPMailer を使用して、Amazon SES 経由で BCC のアドレスに E メールを送信すると、SES は以下のエラーを返します。

554 Transaction failed: Invalid email address undisclosed-recipients:;.

これは、「To」フィールドにアドレスが指定されておらず、「Undisclosed-recipients:;」で埋められている場合にのみ発生します。「To」フィールドに指定されたアドレスだけでメールを送信しようとしましたが、問題なく動作します。「宛先」欄にアドレスを入力し、BCCしたアドレスでメールを送信した場合も、エラーなく動作します。

これは、各電子メール アドレスを BCC として追加するために使用している PHP コードで$Addressesあり、キーなしの電子メール アドレスを含む配列です。

    if(is_array($Addresses))
    {

        foreach ($Addresses as $Email) {
            $Mail->AddBCC($Email);
        }

    }

これは PHPMailer からの出力です。

Invalid address: Noreply
CLIENT -> SMTP: MAIL FROM:<*redacted*>
SMTP -> FROM SERVER:250 Ok
CLIENT -> SMTP: RCPT TO:<*redacted, bcc'd address*>
SMTP -> FROM SERVER:250 Ok
CLIENT -> SMTP: RCPT TO:<*redacted, bcc'd address*>
SMTP -> FROM SERVER:250 Ok
CLIENT -> SMTP: DATA
SMTP -> FROM SERVER:354 End data with <CR><LF>.<CR><LF>
CLIENT -> SMTP: Date: Mon, 12 Aug 2013 20:46:09 +0000
CLIENT -> SMTP: Return-Path: <*redacted*>
CLIENT -> SMTP: To: undisclosed-recipients:;
CLIENT -> SMTP: From: Noreply <*redacted*>
CLIENT -> SMTP: Subject: *redacted*
CLIENT -> SMTP: Message-ID: <*redacted*>
CLIENT -> SMTP: X-Priority: 3
CLIENT -> SMTP: X-Mailer: PHPMailer 5.2.6 (https://github.com/PHPMailer/PHPMailer/)
CLIENT -> SMTP: MIME-Version: 1.0
CLIENT -> SMTP: Content-Type: text/html; charset=iso-8859-1
CLIENT -> SMTP: Content-Transfer-Encoding: 8bit
CLIENT -> SMTP: 
CLIENT -> SMTP: *redacted*
CLIENT -> SMTP: 
CLIENT -> SMTP: .
SMTP -> FROM SERVER:554 Transaction failed: Invalid email address undisclosed-recipients:;.
SMTP -> ERROR: DATA not accepted from server: 554 Transaction failed: Invalid email address undisclosed-recipients:;.
SMTP Error: Data not accepted.
CLIENT -> SMTP: quit
SMTP -> FROM SERVER:221 Bye
string(126) "SMTP Error: Data not accepted.
SMTP server error: Transaction failed: Invalid email address undisclosed-recipients:;.

SES で Postfix を使用しているときにこのエラーが発生する人もいますが、問題をどのように解決したかはまだわかっていません。

4

2 に答える 2