web-dev-qa-db-ja.com

Linuxでadmin / debugメールを送信するためだけにメールサーバーを設定するにはどうすればよいですか?

リモートサーバーからサーバーレポートを自分に送信する必要があり、それらがスパムになることを気にしないので、SPF、DKIMなどは必要ありません。

mailutilsを使用してuptime | mail -s "uptime" [email protected]のようなものを送信しようとしましたが、メールは送信されません。/var/mail/rootで、HELOが無効であるというメッセージを受け取りました。それで-r root@my-ipも追加しようとしましたが、エラーメッセージは表示されませんが、電子メールも受信しません。

これどうやってするの?

2
ChocoDeveloper

OK

$ apt-get install mailutils
$ vim /etc/postfix/main.cf
myhostname = mydomain.com
$ service postfix restart

次に、ドメインのレコードを設定して、「mail.mydomain.com」がマシンのIPをポイントし、MXレコードが「mail.mydomain.com」をポイントし、次のようにTXTレコードを使用してSPFを設定します。 v=spf1 include:mydomain.com ip4:1.2.3.4 -all(実際のIPを置き換えます)

これで、mailコマンドを使用してメールを送信できます。

0
ChocoDeveloper

「スマートホスト」として構成されたUbuntuでexim4電子メールパッケージを使用します。これは、通常のSMTPサーバーのユーザー名とパスワードをexim4に与えると、それを通してメール(メールやsendmailなどのコマンドから)が送信されることを意味します。

AskUbuntu.comでの設定について尋ねた質問 と見つけた答えは次のとおりです。

私はついに 実際に動作するトニー・セルフォによる詳細な指示セット を見つけました。ポート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は、必要なトランスポートレイヤーセキュリティでメールが送信されていることを意味します。

2

これは、Fedora/CentOS/RHELで exim を使用してgmail for SMTPを使用して実行することもできます(別のディストリビューションを使用してStephen Ostermillerの回答に基づいて構築します)。最初にyumを使用してeximをインストールします。

Sudo yum install exim

Fedora 20では、このインストールされたバージョン4.80.1。インストールしたら、/etc/exim/exim.confにある構成を変更し、次のセクションをファイルに追加します。

# in the routers configuration section:
send_via_gmail:
  driver = manualroute
  domains = ! +local_domains
  transport = gmail_smtp
  route_list = * smtp.gmail.com

# in the transports configuration section
gmail_smtp:
  driver = smtp
  port = 587
  hosts_require_auth = $Host_address
  hosts_require_tls = $Host_address

# in the authentication configuration section
gmail_login:
  driver = plaintext
  public_name = LOGIN
  client_send = : {your email address at gmail} : {password}

Googleで2要素認証を使用する場合は、 アプリパスワード を使用する必要があります。この構成を設定したら、サービスを再起動して有効にする必要があります。

Sudo service exim restart

サービスが開始されたら、コマンドラインから mail コマンドを使用して、Gmailアカウントを使用してメールを送信できます。

mail [email protected]
subject: {email subject} <enter>
{message}
.

[email protected]は受信者です。 .はメッセージを終了し、Gmailログインの資格情報を使用してGoogle SMTP経由でexim経由で送信します。 Gmailアカウントを持っていない場合は、SMTPサーバーへのアクセスを取得するように設定します。問題がある場合、ログは/var/log/exim/main.logおよびpanic.logに保存され、エラーが発生します。

0
jmq