シェルスクリプトからメールを送信する

シェルスクリプトからメールを送信する

私はバックグラウンドで簡単なプログラムを実行し、出力を記録し、タスクが完了したら私に電子メールを送信するスクリプトを書いた。メールが届かないこと以外はうまくいきます。 Yahooメール、Gmailを試しましたが、Eメールを受信できませんでした。私は聞いた:

1)コマンドを試してみることはできますが、teeこのコマンドを使用したことはありません。

2)一部の電子メールサービスでは、送信者を指定しないと電子メールを受信できません。

私はFedoraを使用しています。以下は、バックグラウンダーの結果を記録し、電子メールを送信するために使用するコードです。

(nice -n 10 nohup ./$user_cmd >$log_stdout 2>$log_stderr </dev/null ; echo $body `date` | mutt -s "$subj" $recipient) &

不明な場合は、お知らせください。スクリプト全体を公開します。デフォルトでは、目標はniceコマンドを使用して電子メールを送信することですnohup

答え1

メールが届かない理由はいくつかあります(スパム、MTAが構成されていません)。これを達成する最も簡単な方法は、Gmail SMTP サーバー経由で動作するように MTA を設定することです。

しかし、まずMTAがインストールされていることを確認してください!

以下は、さまざまなMTAのいくつかの構成例です。

サフィックスhttp://ubuntulinux.co.in/blog/ubuntu/set-up-postfix-for-relaying-emails-via-gmail-smtp-server/

輸出入銀行http://wiki.debian.org/GmailAndExim4

メールを送信http://appgirl.net/blog/configuring-sendmail-to-relay-through-gmail-smtp/

そうでなくGoogleを使用したくない場合は、次の点を確認してください。

  1. MTAが正しくインストールおよび構成され、メッセージキュー内のメッセージを表示できますメールキュー注文する)
  2. MTAがメッセージを転送できる場合は、キューで「返信されたメッセージ」を確認してください。スパムとしてマークされることがあります。

関連情報