Oracle Cloud Infrastructureドキュメント

電子メール配信とのSendmailの統合

電子メール配信経由で電子メールを送信するためのSendmailの構成

Sendmailを使用すると、電子メール配信を介して電子メールを送信できます。 Sendmailを使用する前に、Sendmailアプリケーションで「Oracle Cloud Infrastructureの電子メール配信」を構成する必要があります。

ノート

次のステップでは、「Oracle Cloud Infrastructureの電子メール配信」経由で電子メールを送信するようにSendmailを構成します。 これらのステップは、Ubuntu 18.04コンピュート・インスタンスでテストされています。

Sendmailを有効にして電子メール配信と統合するには:

  1. 「電子メール配信」が電子メールを送信するよう構成されていることを確認してください。 「電子メール配信の開始」も参照してください。

ノート

SMTP資格証明は、電子メール配信を使用するようにSendmailを構成するために必要です。 SMTP資格証明の生成時には、ユーザー名とパスワードを忘れないでください。

  1. 次のupdateコマンドおよびinstallコマンドを実行します:

    sudo apt update
    sudo apt install sendmail
    sudo apt install m4
  2. viなどのファイル・エディタで、/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"

    #write and quit file
    :wq!
  3. /etc/mail/authinfo.dbファイルを生成します。

    次のコマンドを実行します。

    sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
  4. 「Oracle Cloud Infrastructureの電子メール配信」 SMTPエンドポイントへのリレーのサポートを追加します。

    次のコマンドを実行します。

    sudo sh -c 'echo "Connect:<SMTP connection endpoint> RELAY" >> /etc/mail/access'
  5. /etc/mail/access.dbを再生成します。

    次のコマンドを実行します。

    sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
  6. 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'
  7. /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 25')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

    挿入モードを無効にします。

    次のコマンドを実行します。

    #write and quit file
    :wq!
  8. Sendmailを書込み可能にします。

    次のコマンドを実行します。

    sudo chmod 666 /etc/mail/sendmail.cf
  9. sendmail.cfを再生成します。

    次のコマンドを実行します。

    sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
    ノート

    "コマンドが見つからない"、"そのようなファイルやディレクトリはありません"などのエラーが表示された場合は、m4およびsendmailパッケージがシステムにインストールされていることを確認してください。

  10. sendmail.cfの権限を読取り専用にリセットします。

    次のコマンドを実行します。

    sudo chmod 644 /etc/mail/sendmail.cf
  11. Sendmailを再起動します。

    次のコマンドを実行します。

    sudo /etc/init.d/sendmail restart
  12. テスト電子メールを送信して、構成をテストします。

    次のコマンドを実行します。

    /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を押します。

  13. テスト電子メールの受信を確認します。

    ノート

    問題のトラブルシューティングを行うには、/var/log/mail.logにあるメール・サーバー上のSendmailログを確認します。

詳細情報