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


19

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サーバーを介してメールを送信できるようにする構成例を誰かが教えてくれることを望んでいます。

回答:


25

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

最初にsudo dpkg-reconfigure exim4-configこれらの構成オプションを実行して使用します。

  • メール構成の一般的なタイプ:スマートホストによって送信されたメール。SMTPまたはfetchmail経由で受信
  • システムメール名: <ホスト名>
  • 着信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は、メールログを見るために実行してください。別のウィンドウで、システムからメールを送信し、その中に記録が表示されることを確認しますR=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16X=TLSメールが何をしたいです、トランスポート層セキュリティで送信されていることを意味します。


1
/etc/exim4/passwd.clientどちらの方法でも個別のファイルであるため、「構成ファイルを小さなファイルに分割する」必要はありません。
CMD実行

SMTPポートの指定は、すべてのメールサーバーで機能しない場合があることに注意してください。ただしexim4、メールサーバーが提供する場合は、デフォルトのSMTPポートでTLSを使用します。次のX=情報を確認して確認できます/var/log/exim4/mainlog
CMD実行

正しい方向を教えてください。質問を複製したくありません。すべてのユーザーが自分のホームディレクトリに自分のstmpパスワードを設定したい場合はどうすればよいですか?exim4はさまざまなpasswd.clientを探しますか?Tx
博士ベコ

それは私にとって新しい質問のように聞こえます
スティーブンオステルミラー

@DrBecoこの質問または回答に固有ではない特定の質問がある場合は、質問として質問してください。
トーマスウォード

5

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

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

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

mail.example.com:username:password

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


10
update-exim4.confでは、smarthost行に2つのコロンを挿入しましたdc_smarthost='mail.example.com::587'。最後にメールの送信を開始しました。
マルコス

+1これは、多くのチュートリアルで見た非常によくある間違いです。
TwystO

4

これは私にとって非常にうまく機能します。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-userinのinboxでも問題ありませんmy-domain-url

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.