こんにちは、代表の亀井です。
最近社内環境をGoogle GmailからExchange(Microsoft365)に移行したのですが、その際にWordpressのメール通知をGmailからEmail Deliveryに変更したので、その備忘録です。
Oracle Cloud 公式ブログのEmail Deliveryを利用した外部へのメール送信(その1 配信環境構築編) – Oracle Cloud Infrastructureアドバンスド を参考にしています。
詳細はマニュアルをご参照ください。
OCI Email Deliveryについて
OCI Email Deliveryは、Oracle Cloudのメール通知サービスです。個人間でやり取りする通常のメールではなく、アプリケーションやメール配信用に利用することを想定しています。
使ったことがないということであれば、思ったより安いなとかなるかと思います。2020/12/12現在で、1,000通あたり10.2円です。Oracle APEXと組み合わせて、メール配信サービスを開発したいとかであれば、請け負いますし支援もしますのでお気軽にご連絡ください。
同じようなサービスでいうと、最近Twilioに買収されたSendGridなどがあります。
話がそれますが、Twilioは開発者としては面白いサービスだと思いますので、ご存じなければ、通話用の自動音声など興味があればセミナーなどよくやっているので行ってみると面白いと思います(弊社では現状取り扱いしておりませんが、SMS連携したり、機械音声連携したり、LINEなどでチャットボット連携したりと、多彩なインターフェースをGUIでフローを組んで実装するようなサービスです)。
作業の流れと注意点
最初にOCIに接続し、アイデンティティからSMTPサーバ管理用のアカウントを作成します。
作成したアカウントにSMTPの送信用設定を行い、送信元メールアドレス(from)を登録します。
最後に送信元のドメインの認証設定(SPF)を行います。
送信するメールアドレスの偽装を回避するため、メールで利用しているドメインのDNSにTXTレコード(SPF)を設定します。
送信元にしたいドメインのDNSの操作が入るので注意してください。
OCIのメール通知用アカウント作成
OCIにてIAM(Identity and Access Management:アイアム)ユーザを作成します。
- 「アイデンティティ」から「ユーザー」を選びます。
- 作成ボタンを押すと、ユーザーの作成画面となるため、IAMユーザーを選びユーザー名、メールを入力して作成します。ここで入力したメールにWelcomeメールが飛びます。
- ユーザーを作成するとユーザーの一覧に表示されるため、ユーザー名をクリックし、ユーザーの詳細画面に遷移します。左下にSMTP資格証明がありますので、そちらをクリックします。
- 右側のグループがSMTP資格証明に切り替わり、SMTP資格証明の生成ボタンが出ますので、そちらをクリックしてSMTP資格証明を生成します。
- 生成ボタンを押すと資格証明が生成され、ユーザー名とパスワードが表示されます。こちらをコピーしておきます。
ユーザーログイン
操作していたAdministrators権限のユーザーで、SMTP資格証明を作っていないせいか、フェデレーション(IDCSやAzureAD)のユーザーだと操作が出来ないのか、メール送信元の登録が出来なかった為、新しく作成したユーザーからEmailの構成を行いました。※ ただのバグかもしれない。
- 今回はグループ作成後(割愛します)、以下のポリシーを割り当てました。approved-sendersとsuppressionsのリソースでは、電子メールの承認済送信者と電子メールの抑制リストの操作が可能になります。(なるはずだと思うのですが、電子メールの抑制リスト(suppressions)は動作しませんでした・・。今回は支障がなかったのでサポート未確認のまま進めました。)
- Allow group <グループ名> to manage approved-senders in compartment <コンパートメント名>
- Allow group <グループ名> to manage suppressions in compartment <コンパートメント名>
- ユーザーパスワードの生成
作成したユーザーのパスワードを生成します。生成したパスワードを利用して、Welcomeメールからログインしてください。
承認済送信者の登録
- approved-sendersのリソース権限を持ったユーザーでログインし、送信元の登録を行います。電子メールの承認済送信者に移動します。
- 承認済送信者の作成ボタンを押し、送信元メールアドレスを入力し、登録します。
- 作成後の一覧からSPFを表示できますので、SPFを表示してコピーします。リージョンごとに別に出ていましたので、作成したリージョンに該当するSPFレコードをコピーしてください。
東京リージョンでは以下を使いました。- v=spf1 include:ap.rp.oracleemaildelivery.com ~all
- 電子メール構成からSMTPサーバーをコピーしておきます。
- パブリック・エンドポイント: smtp.email.ap-tokyo-1.oci.oraclecloud.com
- SMTPポート: 25, 587
- SMTPポートは587が良いかと思います。
- セキュリティ: TLS有効
ドメインの認証設定
- 送信元メールのドメインに先ほどコピーしたSPFのTXTレコードを設定してください。設定方法がわからない場合はドメイン管理者に聞いてください。こちらの手順は利用しているドメイン管理のベンダー毎に代わると思いますので、割愛します。
アプリケーションからのメール送信
もうメールを送れるはずです。以下の情報を利用してメール通知をしてみてください!
- OCIのメール通知用アカウント作成にて取得したSMTP資格証明のユーザー名とパスワード
- 承認済送信者の登録にて確認したSMTPサーバー