1

メールを送信するときに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);

ただし、コンテンツタイプは「マルチパート/代替」のままです。

4

1 に答える 1

2

わかりました、答えを見つけました...ここに投稿を残して、いつか誰かに役立つかもしれないことを知っています。

問題はコンテンツタイプではなく、送信者のメールアドレスに起因していました。sesを介して電子メールを送信する権利を持つ電子メールアドレスを設定する必要があることを忘れないでください。この電子メールでは大文字と小文字が区別されます。

FOSserBundleが提供するメーラーは問題なく使用できますが、適切に構成してください。

config.yml:

fos_user
    resetting:
        email:
            template: YOPYourOwnPoetBundle:Emails:resetEmail.html.twig
    from_email:
        address:        Quilly@YourOwnPoet.com /*set ses accepted email address here */
        sender_name:    Quilly
    service:
        mailer: fos_user.mailer.twig_swift
于 2012-10-15T04:58:16.773 に答える