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

Mailxを使用して、電子メール配信サービスを介して電子メールを送信します。

電子メール配信を介した電子メール送信のためのMailxの構成

Mailxは、メールを送受信するためのUNIXユーティリティ・プログラムで、メール・ユーザー・エージェントプログラムとも呼ばれます。Mailxを使用して、電子メール配信を介した電子メールの送信を行えます。Mailxを使用する前に、MailxアプリケーションでOracle Cloud Infrastructure Email Deliveryを構成する必要があります。

これらの手順は、PostfixやSendmailなどのメール転送エージェント(MTA)がシステムで使用されていない場合にのみ使用します。MTAを構成する場合は、そのプログラムの構成手順に従い、Mailx設定をデフォルトのままにします。これにより、MailxはローカルMTAプログラムを使用してアウトバウンド・メールを送信します。

重要

これらの手順には、便宜上サンプル・コードが含まれており、参照用として使用する必要があります。クライアント・サポートについては、Mailxカスタマ・サポートに連絡する必要があります。
ノート

これらのステップは、Oracle Linuxインスタンスにサインインしていることを想定しています。Linuxのその他のディストリビューションには、異なるコマンドおよびファイルの場所が含まれることがあります。これらのステップは、Oracle Linux Serverリリース7.9のコンピュート・インスタンスとMailxバージョン12.5 7/5/10でテストされました。

Mailxで電子メール配信との統合を有効にするには:

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

    ノート

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

  2. Mailxのmail.rcファイルを更新します。

    mail.rcファイルを開くには、次のコマンドを実行します:

    sudo vi ~/.mail.rc

    次の情報をファイルの末尾に追加します:

    #smtp config
    
    set nss-config-dir=/etc/pki/nssdb/
    set smtp-use-starttls
    set smtp-auth=plain
    set smtp=<SMTP connection endpoint>:25
    set from=<from_email_address>
    set smtp-auth-user=<OCID from smtp credentials>
    set smtp-auth-password=<password from smtp credentials>
  3. テスト電子メールを送信して、構成をテストします。

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

    echo "Test Email" | mail -v -s "Send an email via mailx" -r "From Name <from_email_address>" <recipient_email_address>

トラブルシューティング

電子メールの送信時に「Error in certificate: Peer's certificate issuer has been marked as not trusted」が発生する

この問題のトラブルシューティングを行うには、次のステップを実行します:

  1. 次のコマンドを実行して、証明書チェーンを表示します:
    echo | openssl s_client -starttls smtp -crlf -connect <SMTP-endpoint>:587 -showcerts
    出力例:
    [root@ociuvddatg01 ~]# echo | openssl s_client -starttls smtp -crlf -connect smtp.email.us-ashburn-1.oci.oraclecloud.com:587 -showcerts
              CONNECTED(00000003)
              depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root G2
              verify return:1
              depth=1 C = US, O = DigiCert Inc, CN = DigiCert Global CA G2
              verify return:1
              depth=0 C = US, ST = California, L = Redwood City, O = Oracle Corporation, OU = Oracle OCI-PROD ASHBURN, CN = smtp.email.us-ashburn-1.oci.oraclecloud.com
              verify return:1
               ---
             Certificate chain
     0 s:/C=US/ST=California/L=Redwood City/O=Oracle Corporation/OU=Oracle OCI-PROD ASHBURN/CN=smtp.email.us-ashburn-1.oci.oraclecloud.com
       i:/C=US/O=DigiCert Inc/CN=DigiCert Global CA G2
     1 s:/C=US/O=DigiCert Inc/CN=DigiCert Global CA G2
       i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root G2
     2 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root G2
       i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root G2
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    ......
    -----END CERTIFICATE-----
    ......
  2. ドメインに署名した証明書を抽出します。この例では、これが最後の証明書です(2 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root G2)。証明書をコピーして、BEGIN CERTIFICATEおよびEND CERTIFICATEフィールドを含む別のDigiCert.pemファイルに貼り付けます。
  3. 証明書をCentos NSSDBデータベースにインストールします。次の例の"DigiCert Global Root G2"を実際の証明書に置き換えます:
    sudo certutil -A -t "C,," -n "DigiCert Global Root G2" -d /etc/pki/nssdb/ -i DigiCert.pem
    証明書を表示するには、次のコマンドを使用します:
    sudo certutil -L -d /etc/pki/nssdb/

詳細情報

ネットワーク・セキュリティ・サービスについては、Mailxのドキュメントを参照してください。