web-dev-qa-db-ja.com

パスワードで保護されたSSL SMTPメールサーバーを介してメールを送信するようにexim4を設定するにはどうすればよいですか?

Cronジョブが自宅のコンピューターからメールを送信できるようにしたいのですが。私のサーバーは、このようにexim4を構成します。

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

ただし、自宅では、ISPがファイアウォール経由で直接送信されるメールをブロックしています。パスワードで保護されたssl smtpサーバーを使用してメールをルーティングできますが、exim4を構成してこの機能を実現する方法を見つけることができませんでした。ホスト名、ユーザー名、パスワード、および「sslを使用」をプラグインして、単一のsmtpサーバーを介してメールを送信できるようにする構成例を誰かが教えてくれることを望んでいます。

19

私はついに 実際に動作するトニー・セルフォによる詳細な指示セット を見つけました。ポート587でトランスポートレイヤーセキュリティ(TLS)を使用する必要があるようです。SSLSMTPが機能しない。

最初にSudo dpkg-reconfigure exim4-configを実行し、次の構成オプションを使用します。

  • メール設定の一般的なタイプ:スマートホストによって送信されたメール。 SMTPまたはfetchmail経由で受信
  • システムメール名:<your hostname>
  • 着信SMTP接続をリッスンするIPアドレス:127.0.0.1
  • メールが受け入れられる他の宛先:<your hostname>
  • メールをリレーするマシン:<この空白のまま>
  • 発信スマートホストのIPアドレスまたはホスト名:mail.example.com::587
  • 送信メールでローカルメール名を非表示にしますか?
    • はい-すべての送信メールはGmailアカウントから送信されたように見えます
    • いいえ-有効な送信者名ヘッダーで送信されたメールは送信者の名前を保持します
  • DNSクエリの数を最小限に抑える(ダイヤルオンデマンド)?いいえ
  • ローカルメールの配信方法:<お好みのものを選択>
  • 構成ファイルを小さなファイルに分割しますか?はい(次にファイルのいずれかを編集する必要があります)

次にSudo vi /etc/exim4/passwd.clientを実行し、メールホストとそれに含まれるエイリアス(nslookupで検出)に次の行を追加します。 <email address>と<password>を、メールをルーティングするアカウントに置き換えます):

mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>

passwd.clientファイルを編集したら、Sudo update-exim4.confを実行して、変更をExim4の構成に統合します。

Sudo /etc/init.d/exim4 restartを実行し、サービスが適切に停止および開始することを確認します。サービスを再起動できない場合、passwd.clientファイルを編集したときに何か問題が発生した可能性があります。

Exim4が再起動した場合は、Sudo tail -f /var/log/exim4/mainlogを実行してメールログを監視します。別のウィンドウで、システムから電子メールを送信し、レコードがwithR=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16で表示されることを確認します。 X=TLSは、必要なトランスポートレイヤーセキュリティでメールが送信されていることを意味します。

25

ISPで認証が必要な場合は、ISPが使用するメールサーバーのホスト名とポートの組み合わせにdc_smarthostを設定し、次のようにdc_eximconfig_configtypeを「smarthost」に設定する必要があります。

dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'

その後、次のように資格情報を/etc/exim4/passwd.clientに追加できます。

mail.example.com:username:password

次に、exim4サーバーを介して送信されたメールは、このメールホスト経由でルーティングされます。

5
dobey

これは私にとって非常にうまく機能します。 ISPはこのファイルを変更してコマンドを発行した後、ポート25とdc_smarthost='myisp.mail.server:25'を使用します。

  1. update-exim4.conf
  2. /etc/init.d/exim4 restart

次のようなexim4クラシックサンプルを使用してメールを送信するテストを行った後:

echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" my-user-in-isp@my-domain-url

そして、これらのフローは、my-usermy-domain-urlの受信ボックスに問題ありません。

4
gsavix