EC2からGoogle WorkspaceのSMTPリレーサービスを使ってメール送信する

通常メール配信はSendgridやSES等を利用することが多いのですが、Google WorkspaceのSMTPリレーサービスを利用してメール送信する機会があったのでメモ。

Google WorkspaceでSMTPリレーサービスを有効にする

設定項目 アプリ => Google Workspace => Gmail => ルーティング => SMTPリレーサービス

今回は以下で設定しています。

項目 説明 設定
許可する送信者 「ドメイン内のアドレスのみ」を指定
認証 指定した IP アドレスからのみメールを受信する EC2の関連付けしているEIPを指定
暗号化 暗号化の必須化しない

EC2のpostfixにリレー設定する

/etc/postfix/main.cfに設定を追加して、再起動(sudo systemctl restart postfix)します。 25番ポートを開放するのが面倒なので587にしておきます。

relayhost = smtp-relay.gmail.com:587

PHPからメール送信テスト

<?php

$to = "to@example.com";
$subject = "Test Subject";
$body = "Test Content";
$header  = "From: from@example.com\n";
$res = mb_send_mail($to, $subject, $body, $header);

?>