Oracle Linux 9 から OCI Email Delivery でメールを送信する方法 (S-nail対応)

OCI General

初めに

以前のブログ「OCI電子メール配信サービスの概要」では、OCI Email Deliveryを利用してメールを送信する基本的な手順を、Oracle Linux 8環境を例にご紹介しました。

あの記事の中で、メール送信クライアントとしてmailxを以下のコマンドでインストールする方法をご提供していました。
sudo yum install mailx -y

しかし、Oracle Linux 9では環境が異なります。OSの標準リポジトリからmailxパッケージが削除され、代わりにs-nailが採用されています。そのため、上記のコマンドではメール送信環境を構築できません。

本記事では、Oracle Linux 9環境において、OCI Email Deliveryを利用してメールを送信する手順を、s-nailに対応した形で改めて解説します。

Oracle Linux 9 でメール配信環境を構築する際の参考として、ぜひご活用ください。

動作確認環境
Oracle Linux 9 (OCI VM)
S-nail 14.9

1. OCI Email 配信サービスの設定

SMTP認証情報の作成や承認済送信者の設定など、OCI Email Delivery自体の設定手順については、前回のブログと同様です。詳細な手順は前回の記事(STEP1~STEP5)をご参照いただき、本記事ではmailxs-nailの違いに焦点を当てて説明します。

2. S-nail のインストールと設定

管理者ユーザーで s-nail をインストールします。インストール後、従来のmailxが利用できるようになります。

[opc@linux9 ~]$	sudo dnf install s-nail -y
<省略>
[opc@linux9 ~]$ rpm -q s-nail
s-nail-14.9.22-9.el9_7.x86_64
[opc@linux9 ~]$ which mailx
/usr/bin/mailx

次のように、~/.mailrcを編集します。

[opc@linux9 ~]$ cat .mailrc
set v15-compat
set nss-config-dir=/etc/pki/nssdb/
set smtp-use-starttls
set mta=smtp://ocid1.user.oc1..<unique_id>%40ocid1.tenancy.oc1..<unique_id>.nc.com:<encoded_password>@smtp.email.ap-tokyo-1.oci.oraclecloud.com:587
set from=<sender_email_address>
[opc@linux9 ~]$

mta=smtp://<エンコードされたユーザー名>:<エンコードされたパスワード>@smtp.email.ap-tokyo-1.oci.oraclecloud.com:587

  • 東京リージョン以外をご利用の場合は、ap-tokyo-1 を該当リージョンに置き換えてください。
  • ユーザー名またはパスワードに特殊文字が含まれる場合は、次のコマンドでエンコードしてください。
echo 'urlcodec enc ユーザー名またはパスワード' | s-nail -#

SMTP認証に使用するユーザー名の形式は、以下のとおりです。ocid1.user.oc1..<unique_id>@ocid1.tenancy.oc1...<unique_id>nc.com
上記コマンドを実行すると、@%40に変換されます。

パスワードの変換例:

[opc@linux9 ~]$ echo 'urlcodec enc your_password_with_special_char_!#$%/:;@' | s-nail -#
your_password_with_special_char_%21%23%24%25%2F%3A%3B%40
[opc@linux9 ~]$

3. テスト電子メールを送信

コマンド例:
echo "This is a test for OCI Email Delivery with DKIM" | s-nail -s "Test for OCI Email Delivery" <Recipient_Email_Address>

[opc@linux9 ~]$ echo "This is a test for OCI Email Delivery with DKIM" | s-nail -s "Test for OCI Email Delivery" <Recipient_Email_Address>
[opc@linux9 ~]$

従来の mailx が引き続き利用できます。コマンドの書き方は同様です。

[opc@linux9 ~]$ echo "This is a test for OCI Email Delivery with DKIM" | mailx -s "Test for OCI Email Delivery" <Recipient_Email_Address>
[opc@linux9 ~]$

受信者には次のようなメールが届きます。
Mail received

以上

タイトルとURLをコピーしました