LoginSignup
1
0

More than 1 year has passed since last update.

Email Deliveryを使う

Last updated at Posted at 2022-06-10

TL;DL

Oracle Cloudでメールを送信する際、Email Delivery というサービスがある。
これを使うと良さげ。

設定方法は、公式の チュートリアル(基礎編)チュートリアル(応用編) や、
他の方が書かれている 記事 がとても詳しいので、まあ詰まることはないだろうと
高を括っていたのだが、実際に設定してみると 少々 躓いてしまったw
自嘲のついでに、自分の環境に構築したときのメモを公開してしまうという試み。

Email Deliveryの設定

準備(OCI外部リソースの設計)

  • 送信用のメールアドレス
    たとえばhogegegege.net というドメインを(お名前.com とかで)持っていたとして、
    no-reply@sub.hogegegege.netってアドレスで、メールを送信(From:)したいケース。
    • ドメイン(or サブドメ)
      新規をドメインを準備できんかったので、たまたま持ってたドメインのサブドメを使う。
      たとえば、sub.hogegegege.netとか。
    • アカウント
      送信したメールに返信をされても、おそらくdovecotなりを建てないと受け取れない...
      それが伝わるようなアカウント名にしておくと良さそう。
      たとえば、no-replyとか。

設定(OCIリソース+DNSレコード追加)

1. SMTP資格証明

このあたりを見ながら、メール送信時にクライアントアプリ側で指定する認証情報を作成。

  • SMTPのユーザー名
  • パスワード(取り扱いに注意)

2. ドメイン(or サブドメ)の登録

開発者サービス → 電子メール配信 → 電子メール・ドメイン → 『電子メール・ドメインの作成』と進める
image.png

3. 承認済送信者の登録

開発者サービス → 電子メール配信 → 承認済送信者 → 『承認済送信者の作成』と進める
image.png

4. SPF用のTXTレコード

東京だと、多分v=spf1 include:ap.rp.oracleemaildelivery.com ~allソース
親ドメインhogegegege.netのDNSに、TXTレコードを入れる。
数分でレコードが伝搬されるはず。以下、確認方法のサンプル。

PS C:\Users\xxxxxxxx> nslookup -type=txt sub.hogegegege.net 8.8.8.8
サーバー:  dns.google
Address:  8.8.8.8

権限のない回答:
sub.hogegegege.net      text = "v=spf1 include:ap.rp.oracleemaildelivery.com ~all"
PS C:\Users\xxxxxxxx>

5. DKIM用のCNAMEレコード

開発者サービス → 電子メール配信 → 電子メール・ドメイン
→ 『sub.hogegegege.net (さっき登録したドメイン)』 → 『DKIMの追加』と進めて、
image.png
適当に「DKIMセレクタ」を入力(図の dkim-sub-000)して、CNAMEのレコード/値を作成。
ドメインhogegegege.netのDNSに、CNAMEレコードを入れる。

・DNSに設定するレコードの情報(↑で作成したもの)
  レコード:(例)dkim-sub-000._domainkey.sub.hogegegege.net.
  値   :(例)dkim-sub-000.sub.hogegegege.net.dkim.nrt1.oracleemaildelivery.com

数分でレコードが伝搬されるはず。以下、確認方法のサンプル。

PS C:\Users\xxxxxxxx> nslookup -type=cname dkim-sub-000._domainkey.sub.hogegegege.net 8.8.8.8 
サーバー:  dns.google
Address:  8.8.8.8

権限のない回答:
dkim-sub-000._domainkey.sub.hogegegege.net      canonical name = dkim-sub-000.sub.hogegegege.net.dkim.nrt1.oracleemaildelivery.com
PS C:\Users\xxxxxxxx> 

6. ポリシー

アイデンティティとセキュリティ → ポリシー → 『ポリシーの作成』と進めて、
メールアプリからでも、Email Deliveryを使えるようにポリシーを追加する。
Allow グループ名 to use email-family in compartment コンパートメント名
詳細はこちら

自分は、SMTP資格での認証のみでメールを送信できるようにしたかったので
グループ名にany-userを設定して、エラーなくメールを送信することができました。
お仕事環境などの場合のポリシー設計は、セキュリティ責任者さんとお話をして決めましょう。
※コンパートメントの指定方法なども考え方は一緒です

メール送信テスト

Swaksを使う

Perl製のお手軽メール・クライアント。実態はただのPerlスクリプト?らしい。
コマンドでメールを送信できたり、プロトコル・ログを確認することもできるようで、
このプロトコル・ログは、メールが送信できない場合のデバック用途として使えるもよう。

が、長くなるので 別の記事(Linux版, Win版) で整理しますー

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0