我通过nullmailer使用远程SMTP,它需要将“发件人”字段设置为特定名称,但是cron将其设置为root@my.sweet.server.com。
我如何将其更改为类似于me@ya.ru的名称?
我通过nullmailer使用远程SMTP,它需要将“发件人”字段设置为特定名称,但是cron将其设置为root@my.sweet.server.com。
我如何将其更改为类似于me@ya.ru的名称?
Answers:
我认为您不能更改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
in man 5 crontab
。
cronie
进行替换cron
。Ta-daa:MAILFROM
存在:
/ etc / mailname包含FROM地址的域名部分。如果/ etc / mailname包含“ somecompany.com”,那么为root运行的cron将发件人作为root@somecompany.com
如果使用Exim,请参见以下问题:
它应该将“发件人”地址设置为cronjob所有者的地址。$header_from:
如果您想将其硬编码为其他地址,则可以用您的自定义地址替换。
它是通过user @ domain邮寄的-用户是cron在其下运行的登录名-因此,您必须创建一个用户“ me”-并以该用户身份运行cron作业。
然后要更改域,存在不同的可能性-可能是您需要更改hosts文件条目(或者在我的机器上,当我配置此文件时-一个Ubuntu框)-更改/ etc / mailname -成为您想要的域名。