今回は、OCI電子メール配信サービス(OCI Email Delivery)の概要を紹介したいと思います。
注目ポイント:
- OCI Email DeliveryとAWSの類似サービス(SES)の比較
- メール送信のクイックスタートガイド(わかりやすい手順付き)
- DKIMとSPFの設定方法(サービス制限の引き上げに必要)
トピック
OCI Email Deliveryとは
OCI Email Delivery vs AWS SES
OCI Email Deliveryでメールを送信するクイック・スタート (ステップ・バイ・ステップのハンズオン・デモです。)
OCI Email Deliveryとは
「電子メール配信を使用する場合、これがアウトバウンド電子メール・サーバーになります。既存の電子メール・サーバーがある場合は、これを保持して、電子メール配信を介して送信するように構成できます。」 -- OCIドキュメントより

OCI電子メール配信とは何ですかと聞かれたら、上記の説明と図がよく解説してくれますので、そのまま引用しました。(重要かつ理解しやすいと思います。)
OCI Email Deliveryについて知っておくべきこと
| 項目 | 内容 |
|---|---|
| 送信方法 | SMTP (のみ) |
| SMTP Auth | Plain (のみ) |
| 添付ファイルのサポート | Yes |
| DKIM(DomainKeys Identified Mail)のサポート | Yes |
| SPF(Sender Policy Framework)のサポート | Yes |
| メールの一括送信 | Yes (プログラムで) |
| パブリック・インターネットを経由せずにメールを送信 (Service Gatewayを経由) |
Yes |
| SDKの提供 | Yes |
| Autonomous Databaseからの送信 | Yes |
| 利用可能リージョン | 全てのリージョン |
サービス制限 (リンク)

電子メール配信では、2MBまでのメッセージ(メッセージ・ヘッダー、本文およびアタッチメントを含む)がサポートされています。送信ドメインにSPFおよびDKIMを設定してある場合は、要件に基づいて、この制限の引上げをリクエストできます。リクエストできる最大サイズは60MBです。
現在利用中のサイズ制限値は、OCIコンソールから確認できます。
ガバナンスと管理→テナンシ管理→制限、割当ておよび使用状況
サービス:Email Delivery
OCI Email Delivery vs AWS SES
他のクラウド・プロバイダー
AWSが、SES(Simple Email Serviceというメール・サービスを提供しています。このブログの最終更新日(2025年2月)まで、AzureとGCPがまだネイティブのメール・サービスを提供していません。

価格比較
OCI Email Deliveryの価格は、AWS SESより安価で、見積もりも容易です。
OCIでは、添付ファイルに追加費用がかかりません。価格は以下の通りです。
| OCI Email Delivery | AWS SES | |
|---|---|---|
| メール送信 | 送信した数で請求する | 送信した数で請求する |
| 添付ファイルの追加費用 | なし | あり |
| メール受信 | N/A | 有料 |
| 価格 | LINK | LINK |
OCI Email Deliveryの価格
価格設定は非常にシンプルで、コストを見積もるのは簡単です。

※、最初の3100通は無料枠です。
AWS SESの価格

AWS SESは、メールと添付ファイルの送信に対して個別に課金します。送信元(EC2またはその他のメール・クライアント)の場所により、料金が異なります。送信費用を見積もる時、ちょっと複雑になります。
OCI Email Deliveryでメールを送信するクイック・スタート
ステップ
| No. | タスク | OCI ユーザー | コメント |
|---|---|---|---|
| 1 | SMTP資格証明の作成 | 電子メール管理者 | |
| 2 | ポリシーの作成 | テナンシ管理者 | |
| 3 | 電子メール・ドメインとDKIMの作成 | 電子メール管理者 | オプション |
| 4 | 承認済送信者の作成 | 電子メール管理者 | |
| 5 | SPFの設定 | 電子メール管理者 | オプション |
| 6 | SMTP接続の設定 | 電子メール管理者 | |
| 7 | テスト電子メールを送信 | 必要なし | VMまたはアプリから実行 |
注意:
-
ステップ3と5はオプションであり、必須ではありませんが、それらを実行することを勧めします。
-
テナンシ管理者としてステップ2を実行する必要があります。ほかのステップについては、テナンシ管理者から権限が付与されているユーザー(例:電子メール管理者)で実行してください。
-
あなたは、テナンシ管理者であり、軽い検証を行いたい(新規ユーザーやグループを作成したくない)場合は、ステップ2をスキップしてもよいです。テナンシ管理者としてほかのステップを実施すればOKです。
検証環境
| 項目 | 内容 | コメント |
|---|---|---|
| OCIリージョン | 東京 | すべてのOCIリージョンで利用できます。 |
| ユーザー名 | Email_Manager | 事前に作成してください(ここでは省略しました)。 |
| グループ名 | Email_Group | 事前に作成してください(ここでは省略しました)。 |
| ユーザー・タイプ | IAM Identity Domain | 従来のIDCSまたはIAMユーザーにも適用します。 |
| Computeインスタンス | Oracle Linux 8 | |
| メール送信用ソフト | mailx | 手動でインストール |
1. SMTP資格証明の作成
ユーザー・タイプは、アイデンティティ・ドメインの場合:
プロファイル・アイコン(右上)-> My profile -> SMTP credentials -> Generate credentials

従来のIDCS/IAMユーザーの場合、入り口は少し違います。
Identity -> Users -> User Details -> SMTP Credentials

次のポップアップ画面で、説明を入力し、「資格情報の生成」ボタンをクリックします。

「コピー」をクリックし、パスワードを保存してください。パスワードは再度表示されません。

生成後、ユーザー名の上にマウスを置き、OCIDをコピーします。ステップ6でパスワードと共に使用します。

1個のユーザーに対し、最大2つのSMTP資格証明が作成できます。
2. ポリシーの作成
このステップを完了するには、テナンシ管理者としてログインしてください。
ユーザー「Email_Manager」とグループ「Email_Group」を用意しておき、「Email_Manager」を「Email_Group」に追加します。

ポリシー名: Email_Delivery_Policy
ステートメント: Allow group Email_Group to manage email-family in compartment PoC

3. 電子メール・ドメインとDKIMの作成(オプション)
DomainKeys Identified Mail(DKIM)は、メール転送エージェント(MTA)によるメッセージのソースと内容の検証を可能にする認証フレームワークです。DKIMにより、署名者はドメインの電子メール・メッセージに暗号を使用して署名し、信頼性の責任を主張できます。
ステップ
3-1. 電子メール・ドメインの作成
3-2. DKIMの作成
3-3. DNSゾーンの作成
3-4. DNS設定にDKIMレコードを追加
3-1. 電子メール・ドメインの作成
Email Delivery -> Email Domains -> Create Email Domain
電子メール・ドメイン名を入力し、「電子メール・ドメインの作成」ボタンをクリックしてください。

3-2. DKIMの作成
電子メール・ドメインがアクティブになったら、「Add DKIM」ボタンをクリックします。

「DKIM Selector」を入力し、「Generate DKIM Record」ボタンをクリックします。
「DKIM Selector」のフォーマット: <prefix>-<shortregioncode>-<yyyymmdd>

CNAME名とCNAME値をコピーし、「Create DKIM」ボタンをクリックします。

DKIMレコード作成後、「DKIM Signing Status」の状態は「Pending DNS」と表示されます。それで、DNS設定にCNAMEレコードを追加す必要があります。
3-3. DNSゾーンの作成
DNSゾーンが存在しない場合は、まずDNSゾーンの作成は必要です。
Networking -> DNS Management -> Zones

ゾーン名として電子メール・ドメイン名を入力し、「作成」ボタンをクリックします。

3-4. DNS設定にDKIMレコードを追加
Networking -> DNS Management -> Zones -> Domain Name -> Records -> Add Record

CNAMEレコードとCNAME値を入力し、「Submit」ボタンをクリックします。
| 項目 | 説明 | 値 |
|---|---|---|
| Name | CNAME Record | liu-nrt-20220331._domainkey.<email_domain_name> |
| Target | CNAME Value | liu-nrt-20220331.<email_domain_name>.dkim.nrt1.oracleemaildelivery.com |
レコードが作成されたら、「Publish Changes」ボタンをクリックします。

DNSレコードを公開した後、「DKIM Signing Status」が「Active」になるまで時間がかかり、数分間から数時間以上の場合があります(私のテスト用ドメインの場合、およそ1日間かかりました)。ステータスが「Active」になったら、OCIコンソールから確認できます。

MOSドキュメントの記載により、DNSレコードを追加した後、DKIMステータスが有効になるまで、24時間かかる場合があります。
4. 承認済送信者の作成
承認済送信者を作成するには、2つの入り口があります。電子メール・ドメインの作成をスキップした場合(ステップ3)、入口は以下です。
Email Delivery -> Approved Senders

電子メール・ドメインとDKIMは作成済の場合、入口は以下です。
Email Delivery -> Email Domains -> Approved Senders

ベスト・プラクティス: 承認済送信者をルート・コンパートメントで作成しないでください。承認済送信者がルート・コンパートメントに存在する場合、テナント全体で承認済送信者を管理するポリシーを作成する必要があります。
5. SPFの設定(オプション)
「承認済送信者」が作成されたら、3ドットのメニューをクリックして「SPFの表示」を選択します。

DNSにSPFレコードがないことを示しています。それで、DNSにSPFレコードを追加する必要があります。

Networking -> DNS Management -> Zones -> Domain Name -> Records
レコード・タイプ: TXT
テキスト: 送信場所によって異なります(この例ではを"Asia/Pacific"使用しています)。
レコードを追加した後、変更を公開することを忘れないでください。

公開後、「SPF Configured」の状態が「Yes」に変わりました。(私の場合、2〜3分しかかかりませんでした。)

3ドットのメニューからもう一度「SPFの表示」をクリックすると、メッセージが次のように変更されていることがわかります。これは予想どおりです。
SPF Record Exists for this Approved Sender
6. SMTP接続の設定
Email Delivery -> Configuration
以下のようにSMTP送信情報を確認してください。

メールの送信元(Computeインスタンス)にログインする必要があります。ここでは、Oracle Linux8 VMを使用しています。mailxはプリインストールされていないので、次のコマンドで手動でインストールしました。
sudo yum install mailx -y
インストール後、次のように/home/opc/.mailrcを編集します。
[opc@linux8 ~]$ pwd
/home/opc
[opc@linux8 ~]$ cat .mailrc
set smtp-use-starttls
set smtp=smtp.email.ap-tokyo-1.oci.oraclecloud.com:587
set smtp-auth=plain
set smtp-auth-user=<smtp_user_ocid>
set smtp-auth-password=<password>
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
set from=<sender_email_address>
[opc@linux8 ~]$
| 項目 | 内容 | コメント |
|---|---|---|
| smtp | smtp.email.ap-tokyo-1.oci.oraclecloud.com | パブリック・エンドポイント |
| smtp-auth | plain | SMTP Plainのみをサポート |
| smtp-auth-user | SMTP資格証明ユーザのOCID | ステップ1で作成 |
| smtp-auth-password | SMTP資格証明のパスワード | ステップ1で作成 |
| from | 「承認済送信者」のメールアドレス | ステップ4で設定 |
7. テスト電子メールを送信
メール送信用コマンド:
echo "This is a test for OCI Email Delivery with DKIM" | mailx -s "Test for OCI Email Delivery" <Recipient_Email_Address>
[opc@linux8 ~]$ echo "This is a test for OCI Email Delivery with DKIM" | mailx -s "Test for OCI Email Delivery" <Recipient_Email_Address>
[opc@linux8 ~]$
まとめ
上記は、各機能をカバーしているステップ・バイ・ステップのガイドです。もし軽い検証だけをしたい場合は、ステップ1、4、6、および7の4つのステップのみでOKです。これは非常に簡単です。
以上です。
関連記事
オラクル・クラウドの個人ブログ一覧
Autonomous DBでOCIメール配信サービスを使用してメールを送信
OCI Computeにログインする時にメール通知を送信する方法
参考ドキュメント
電子メール配信の開始
OCI Email Delivery FAQs
DKIMの管理
SPFの構成
MOS Doc
OCI Email Delivery - How to Send an Email With an Attachment Larger Than 300 KB (Doc ID 3001608.1)

OCI Email Delivery - How Long Domain Keys Identified mail (DKIM) Signature To Become Active (Doc ID 3000698.1)




