加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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的任何其他参数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读