@gmailアカウントにcronメールを送信する方法


41

Ubuntuのラップトップではユーザーのメールボックスを使用しないため、「実際の」メールアカウントで通知を受け取りたい場合がありますが、cron(または後置かもしれません)のcronジョブがいくつかあります。ローカルルートアカウントにメールを送信しようとし続けます。

MAILTO変数をcrontabに追加できることは知っています。

ricardo@ricardo-laptop:~$ sudo crontab -l
MAILTO=redacted@gmail.com
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

しかし、それに注意を払っていないようです

また、メールを/etc/aliasesファイルに追加して実行しようとしましたnewaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          redacted@gmail.com
ricardo:       redacted@gmail.com

それでも、cronが電子メールを送信したいときはいつでも、次のアドレスに送信していroot@my.domain.comます:

ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<root@144-68-247-190.fibertel.com.ar>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<root@144-68-247-190.fibertel.com.ar>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))

助言がありますか?Ubuntu 10.04を実行していますが、すべてが最新の状態です

回答:


20

smtp.gmail.comをメールサーバーのスマートホストとして設定したように見えます。サーバーが外部にメールを送信できるように、スマートホスト構成を削除するか編集する必要があります。

メール転送用の現在の設定は機能しているように見えますが、smtp.gmail.comがメールを拒否しているために失敗しています。

更新:将来の参照のために、問題は、後置/etc/mailnamemydestinationsリストにない名前をリストすることでした。これにより、すべてのメールが外部メールと見なされ、メールは/etc/aliases処理をバイパスしました。


私は今のところTLSエラーを無視しており、mail.logの最後の行に次のように書かれていることに集中しています:postfix / smtp [4120]:D985B310:to = <root@144-68-247-190.fibertel.com .ar> cronがまだGmailアカウントではなくルートアカウントにメールを送信しようとしているので、質問にGmailの応答を残すのは混乱するのではないかと心配しましたが、あまり変更したくないので価値を失いません情報。今すぐTLSエラーを修正しようとしますが、間違った宛先の問題とは何の関係もないはずだと確信しています
リカルドレイエス

postfixにmain.cfを含めることができますか。あなたのpostfixインスタンスは、メールが最初はローカルではなく、エイリアスファイルの影響を受けるのはローカルメールだけであると考えていると思います
-Ressu

postfix.cfgは次のとおり です。cl1p.net/ postfix smarthostオプションを削除しようとしましたが、IPアドレスが正しく解決されないため、Gmailのエラーメッセージのみが変更されました。これはサーバーではなく、個人用のラップトップであり、配信する必要があるメールは自分のGmailアカウントへのcronアラートのみであることに注意してください。ありがとう。
リカルドレイエス

1
うーん、/ etc / mailnameにはホスト名が含まれていますか?何らかの理由で、postfixはricardo-laptopではなく144-68-247-190.fibertel.com.arと呼ばれると考えているようです。また、hostnameコマンドは何と言っていますか?
Ressu

Postfixは、Gmailのサテライトとしてではなく、完全なメールサーバーとして構成する必要があります。そうしないと、送信者がGmailのユーザーではないため、認証の問題が発生します。
txwikinger

1

質問から抽出されたソリューション

Ressuに感謝)

問題はファイルにありました /etc/mailname

このファイルはUbuntuインストーラーによって作成され、間違ったサーバー名が含まれていました。「ricardo-laptop」の接尾辞に一致するように変更すると、電子メールはローカル配信を目的としていることに気付き、エイリアスを追跡し始めました


0

私がやったようにこれを発見した人々のために私が追加すると思いました。ルートアカウントからのすべてのメールが必要な場合の簡単な代替方法は、次のコマンドを実行することです。

sudo nano〜/ .forward

その後、単一の電子メールを入力するか、複数の電子メールをカンマで区切ることができます。これにより、すべてのルートメール(ルートを使用している場合)がこのファイルのメールアドレスに転送されます。

メールを追加したら、Ctrl + X、次にYを押して変更を保存します。


これは、ファイルをルートではなくユーザーのホームに配置しますか?
エンドリス

@endolith:正しい。sudo nan ~root/.forward代わりにしたい場合があります。
Flimm

1
しかし、sudoを使用してユーザーの自宅にファイルを作成していますか?
エンドリス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.