nullmailer経由でリモートSMTPを使用し、Fromフィールドに特定の名前を設定する必要がありますが、cronはroot@my.sweet.server.comとして設定します。
me@ya.ruのような名前に変更するにはどうすればよいですか?
nullmailer経由でリモートSMTPを使用し、Fromフィールドに特定の名前を設定する必要がありますが、cronはroot@my.sweet.server.comとして設定します。
me@ya.ruのような名前に変更するにはどうすればよいですか?
回答:
FROMアドレスを変更できるとは思いません(誰かがMAILFROMオプションを追加する必要があります)。
同様の結果を得るには、次のようなこともできます。
* * * * * /path/to/script 2>&1 | mail -s "Output of /path/to/script" toaddress@example.com -- -r "fromaddress@example.com" -F"Full Name of sender"
すべての出力はmailコマンドにパイプされるため、MAILTO変数はまったく使用されません。
宛先アドレスを設定する必要がありますが、$ MAILTO変数を使用できる場合があります。-は残りのオプションをsendmailオプションに設定するため、-rおよび-Fオプションを使用できます。
-sは主題です
-rは返信アドレスです
-Fは送信者の氏名です(電子メールクライアントで見た目がよくなります)
cronの最新バージョンは、crontab形式の「MAILFROM = ...」を受け入れます。「man 5 crontab」を試してみることをお勧めします。MAILFROMに言及している場合は、お使いのバージョンでサポートされているはずです。探すべきフレーズは、MAILTOについて説明する段落の終わりに向かっており、次のようなものでなければなりません。
If MAILFROM is defined (and non-empty), it will be used as the envelope sender address, otherwise, ''root'' will be used.
MAILFROM
れていませんman 5 crontab
。
cronie
して置き換えることができcron
ます。Ta-daa:MAILFROM
存在:
/ etc / mailnameには、FROMアドレスのドメイン名部分が含まれています。/ etc / mailnameに「somecompany.com」が含まれている場合、rootで実行されているcronの送信者はroot@somecompany.comになります。
nullmailerは、環境変数またはコマンドラインを介してアドレスから設定できます。コマンドライン引数は-f
、-F
送信者アドレスとフルネーム用です。
通常、crontabで環境変数を設定できます。
NULLMAILER_USER=webmaster
NULLMAILER_HOST=host.example.com
NULLMAILER_NAME="Mr Cron"
5 0 * * * /usr/local/bin/daily.sh
私にとって、システムの送信元アドレスを変更する最も簡単な方法は、次の~/.mailrc
ような内容のファイルを作成することです。
set name="My Full Name"
set from="myrealemail@example.com"
mail
ユーザーとして実行するコマンドはすべて、これらの設定を使用するようになりました。
Eximを使用している場合は、この質問を参照してください。
exim:「From」ヘッダーをエンベロープ「FROM」に書き換えます
「From」アドレスをcronjobの所有者に設定する必要があります。別の$header_from:
アドレスにハードコードする場合は、カスタムアドレスに置き換えることができます。
user @ domainからメールで送信されます-ユーザーはcronが実行されているログイン名です-そのため、ユーザー 'me'を作成し、そのユーザーとしてcronジョブを実行する必要があります。
次に、ドメインを変更するには、さまざまな可能性があります-hostsファイルのエントリを変更する必要がある可能性があります(または、私のマシンでは、これを設定していたとき、ubuntuボックス)-/ etc / mailnameを変更します-希望するドメインになります。