SymfonyでSendGridを使ってメールを送信する

書くまでもないくらい、ドキュメントどおりにやればめちゃ簡単にできる。

symfony.com

まずはインストール。

$ composer require mailer

.env の設定を以下のように変更。

MAILER_URL=smtp://smtp.sendgrid.net:587?encryption=tls&username=&password=

SMTPの接続情報を教えてください。 – サポート

usernameとpasswordはSendGridのものを指定。

例えば以下のようなコードを書く。

<?php
// ...
/**
 * @Route("/send-email")
 */
public function sendEmailAction(\Swift_Mailer $mailer)
{
    $message = (new \Swift_Message('Hello Email'))
        ->setFrom('foo@example.com')
        ->setTo('xxx@example.com') // 送信先のアドレスを指定
        ->setBody(
            'テストメール',
            'text/html'
        )
    ;
    $mailer->send($message);
    return new Response('Hello!');
}

メッセージの作り方詳細は以下を参照。

Creating Messages – Documentation – Swift Mailer

うまくいけばメールが届く。