Sendmailと電子メール配信の統合
Sendmailを使用して、電子メール配信サービスを介して電子メールを送信します。
電子メール配信を介した電子メール送信のためのSendmailの構成
Sendmailは、インターネットを介した電子メール転送に使用されるSimple Mail Transfer Protocolなど、様々な種類のメール転送および配信方法をサポートする汎用のインターネットワーク電子メール・ルーティング機能です。Sendmailを使用すると、電子メール配信を使用して電子メールを送信できます。Sendmailを使用する前に、SendmailアプリケーションでOracle Cloud Infrastructure Email Deliveryを構成する必要があります。
これらの手順には、便宜上サンプル・コードが含まれており、参照用として使用する必要があります。クライアント・サポートについては、Sendmailカスタマ・サポートに連絡する必要があります。
次のステップでは、Oracle Cloud Infrastructure Email Delivery経由で電子メールを送信するようにSendmailを構成します。これらのステップは、Oracle Linux Serverリリース7.9のコンピュート・インスタンスとSendmail-8.14.7-6.el7.x86_64でテストされました。
Sendmailで電子メール配信との統合を有効にするには:
-
電子メール配信が電子メールを送信するように構成されていることを確認します。開始を参照してください。
ノート
電子メール配信を使用するようにSendmailを構成するには、SMTP資格証明が必要です。SMTP資格証明の生成時には、ユーザー名とパスワードを書き留めてください。
-
次のupdateコマンドおよびinstallコマンドを実行します:
sudo yum update sudo yum install sendmail sendmail-cf m4 cyrus-sasl-plain
-
/etc/mail/authinfo
を更新します。次のコマンドを実行します。sudo vi /etc/mail/authinfo
ノート
/etc/mail/authinfo
が存在しない場合は、sudo vi /etc/mail/authinfo
コマンドを実行すると作成できます。次の行を追加します。
AuthInfo:<SMTP connection endpoint> "U:root" "I:<username from smtp credentials>" "P:<password from smtp credentials>" "M:PLAIN"
-
/etc/mail/authinfo.db
ファイルを生成します。次のコマンドを実行します。
sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
-
Oracle Cloud Infrastructure Email DeliveryのSMTPエンドポイントへのリレーのサポートを追加します。
次のコマンドを実行します。
sudo sh -c 'echo "Connect:<SMTP connection endpoint> RELAY" >> /etc/mail/access'
-
/etc/mail/access.db
を再生成します。次のコマンドを実行します。
sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
-
sendmail.cf
およびsendmail.mc
ファイルのバックアップを作成します。次のコマンドを実行します。
sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
/etc/mail/sendmail.mc
ファイルを更新します。次のコマンドを実行します。
sudo vi /etc/mail/sendmail.mc
MAILER()
定義を検索します。/MAILER
と入力し、[ENTER]
を押します。挿入モードで、
MAILER()
定義の前に次の設定を追加します:define(`SMART_HOST', `<SMTP connection endpoint>')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl MASQUERADE_AS(`<sending_domain>')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl
挿入モードを無効にします。
-
Sendmailを書込み可能にします。
次のコマンドを実行します。
sudo chmod 666 /etc/mail/sendmail.cf
-
sendmail.cf
を再生成します。次のコマンドを実行します。
sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
ノート
「コマンドが見つかりません」、「該当するファイルやディレクトリはありません」などのエラーが表示された場合は、m4およびsendmailパッケージがシステムにインストールされていることを確認してください。
-
sendmail.cfの権限を読取り専用にリセットします。
次のコマンドを実行します。
sudo chmod 644 /etc/mail/sendmail.cf
-
Sendmailを再起動します。
次のコマンドを実行します。
sudo /etc/init.d/service sendmail restart
-
テスト電子メールを送信して、構成をテストします。
次のコマンドを実行します。
/usr/sbin/sendmail -vf <from_email_address> <recipient_email_address>
電子メールの詳細を入力します。各行の最後で
[Enter]
を押します。例:
From: <from_email_address> To: <recipient_email_address> Subject: OCI Email Delivery test email This is a test message sent from OCI Email Delivery using Sendmail.
[Ctrl] + [D]
を押して、電子メールを送信します。 -
テスト電子メールの受信を確認します。
ノート
問題のトラブルシューティングを行うには、メール・サーバー上のSendmailログ(
/var/log/mail.log
に存在)を確認します。
詳細情報
詳細は、Sendmailインストレーションおよびオペレーション・ガイドを参照してください。