crontab perl 定时发送邮件
我用perl和crontab在ubuntu12.04LTS上来检查某个正在运行的任务的完成情况,并将详细结果通过Net::SMTP发送到我指定的邮箱中。当我自己手动运行这...
我用perl 和crontab在ubuntu 12.04LTS上来检查某个正在运行的任务的完成情况,并将详细结果通过Net::SMTP发送到我指定的邮箱中。当我自己手动运行这个perl程序的时候,没有任何问题。但是用crontab进行定时发送的时候,就出现以下的错误:
553 you are not authorized to send mail ,authentication is required
503 5.5.1 Bad sequence of commands
500 5.5.1 Invalid command
请知道如何解决这个问题的朋友帮忙。谢谢。 展开
553 you are not authorized to send mail ,authentication is required
503 5.5.1 Bad sequence of commands
500 5.5.1 Invalid command
请知道如何解决这个问题的朋友帮忙。谢谢。 展开
2个回答
展开全部
情况应该是在 domain ( 域 ) 或 user 的权限问题.
一种推理, 假设用 perl 执行时没有问题, 那可能是因为你正在以自己 user id 的身份来执行, mail server 允许 relay. 又或者因为你的 id 所属的 group / domain 是 mail server 所 "信任的" 范围, 所以能直接执行. 但交到 crontab 时, 就不再是以你自己的 user id / domain / group 来运行, 於是 mail server 不接受由 crontab 发送邮件的请求.
建议的方法有两个.
在 mail server 将你 crontab 所属的 domain 加入信任范围.
用上 Net::SMTP 里的 auth() 这个方法, 在代码中加入你的 user id 和 password ( 送件的, 不是收件的, 除非收发都是同一个帐号 )
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询