メールを送信するときにAmazonSESを使用するようにポストフィックスを設定しました。FOSUserBundleの機能を使用して、ユーザーパスワードのリセット用の電子メールを送信しようとしています。残念ながら、メールがメールボックスに届くことはありません。AmazonSESは、FOSUserBundleによって偽造されたメールを受け入れません。
このメールの問題は誰かありますか?
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=utf-8
MIME-Version: 1.0
Date: Mon, 15 Oct 2012 04:07:56 +0000
Message-ID: <1350274076.507b8c1c8cee8@www.yourownpoet.com>
From: quilly@YourOwnPoet.com
Subject: blablou
To: toto@gmail.com
Bcc:
<html><body>whatever</body></html>
これも機能しません:
Content-Type: multipart/alternative;
boundary="_=_swift_v4_1350274671507b8e6f82b5f_=_"
MIME-Version: 1.0
Date: Mon, 15 Oct 2012 04:17:51 +0000
Message-ID: <1350274671.507b8e6f99894@www.yourownpoet.com>
From: quilly@YourOwnPoet.com
Subject: blablou
To: toto@gmail.com
Bcc:
<html><body>whatever</body></html>
ヘッダーの異なるメールを試すために、独自のメーラーサービスを作成しました(SwiftMailerを使用しています)。メールがAmazonSESを通過するようにするには、どのようにメールを偽造する必要がありますか?
編集:
content-type:multipart/mixed;のその他のメールに気づきました。SESを通過しますが、content-typeフィールドをこの値に強制することはできません。それは可能ですか?これが私が電子メールを偽造する方法です:
$message = \Swift_Message::newInstance()
->setContentType('multipart/mixed')
->setSubject('blablou')
->setFrom('quilly@YourOwnPoet.com')
->setTo('toto@gmail.com')
->setBody('<html><body>whatever</body></html>', 'text/html')
->addPart('fdsfsd', 'text/plain');
$this->mailer->send($message);
ただし、コンテンツタイプは「マルチパート/代替」のままです。