sendmail – 以非root用户身份从命令行发送邮件时出错
发布时间:2020-12-14 02:32:05 所属栏目:Linux 来源:网络整理
导读:我正在尝试从命令行发送邮件作为CentOS上的非root用户.我正在使用以下命令,但收到错误: $echo test | mail -s "test" to@example.com -c cc@example.comWARNING: RunAsUser for MSP ignored,check group ids (egid=102,want=51)can not write to queue dire
我正在尝试从命令行发送邮件作为CentOS上的非root用户.我正在使用以下命令,但收到错误:
$echo test | mail -s "test" to@example.com -c cc@example.com WARNING: RunAsUser for MSP ignored,check group ids (egid=102,want=51) can not write to queue directory /var/spool/clientmqueue/ (RunAsGid=102,required=51): Permission denied 我已将用户添加到组51(smmtp),我可以cd和写入该目录作为用户. 为什么我收到错误? 一些相关权限: # ls -la /var/spool/clientmqueue/ total 8 drwxrwx--- 2 smmsp smmsp 4096 Mar 8 14:25 . drwxr-xr-x. 13 root root 4096 Oct 21 15:09 .. # ls -la /usr/sbin/sendmail lrwxrwxrwx 1 root root 21 Oct 21 15:09 /usr/sbin/sendmail -> /etc/alternatives/mta # ls -la /etc/alternatives/mta lrwxrwxrwx 1 root root 27 Oct 21 15:09 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail # ls -la /usr/sbin/sendmail.sendmail -rwxr-sr-x 1 root smmsp 833512 Nov 11 2010 /usr/sbin/sendmail.sendmail 解决方法
Sendmail
expects的电子邮件地址是命令行中的最后一件事.如果您在电子邮件地址后面有任何参数,它会将它们解析为电子邮件地址.在上面的示例中,它试图将“-c”解析为电子邮件地址并给出无关的错误.
# BAD $echo test | mail to@example.com -s "test" # BAD $echo test | mail to@example.com -c cc@example.com # GOOD $echo test | mail -s "test" -c cc@example.com to@example.com TO电子邮件地址必须遵循CC电子邮件地址,电子邮件主题以及您需要传递给sendmail的任何其他参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |