我的Postfix配置Linux邮件命令有什么问题?

时间:2014-10-13 06:54:20

标签: bash cron crontab postfix-mta

编辑:谢谢Cyrus的解决方案。问题在于我的cron作业不是postfix 而不是:

*/5 * * * * | /usr/bin/mail -s 'Scheduled Email' user@gmail.com

工作需要安排如下:

*/5 * * * * echo "Message body" | /usr/bin/mail -s 'Scheduled Email' user@gmail.com

我写了一个Bash脚本,允许用户安排一个cron作业来发送电子邮件。我正在使用sharutils uuencode和mailutils mail。

邮件命令在命令行中工作正常,我在我的Gmail帐户上收到电子邮件,在maillog中我可以看到正在发送的邮件。 from是user @ machineName,to是name@gmail.com。但是,当我的一个预定的cron作业尝试使用mail命令发送时,我遇到了问题。

而不是from和to两者都与我通过命令行运行时相同,maillog现在显示来自=<>和=。我的邮件和uuencode都位于/ usr / bin中,在我的脚本中,我在调用它们时给出了完整的路径。

这是我的Postfix main.cf的配置部分

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated  defer_unauth_destination  
myhostname = hostname.example.com  
alias_maps = hash:/etc/aliases  
alias_database = hash:/etc/aliases  
mydestination =   
relayhost =   
myorigin = $mydomain  
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128  
mailbox_size_limit = 0

在我的crontab中,我的脚本中的作业就像这样出现。

*/5 * * * * | /usr/bin/mail -s 'Scheduled Email' user@gmail.com  
*/15 * * * * | /usr/bin/mail -s 'Scheduled Email' user@gmail.com

我想要做的就是从虚拟地址发出。我不需要身份验证,我也不需要通过真实的电子邮件地址发送邮件。当我从命令行独立运行它时,我只需要cronjob以与邮件相同的方式正确发送。我需要更改配置的哪一部分?

谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

*/5 * * * * echo "Hello, this is the body." | /usr/bin/mail -s 'Scheduled Email' name@gmail.com'.