Я пытаюсь отправить почту из командной строки как пользователь без полномочий root в CentOS. Я использую следующую команду, но получаю сообщение об ошибке:
$ 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), и я могу записать и записать в этот каталог как пользователь.
Почему я получаю сообщение об ошибке?
Некоторые соответствующие разрешения:
# 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
Отправить почту надеется адрес электронной почты должен быть последним в командной строке. Если у вас есть какие-либо параметры после адреса электронной почты, он проанализирует их как адреса электронной почты. В приведенном выше примере он пытается проанализировать "-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.
Даже если у двоичного файла есть правильные разрешения, программы в /usr/sbin
не запускаются напрямую (не отображаются в пути) обычному пользователю, запишите весь путь.
Используйте так:
echo "Subject: sendmail test" | /usr/sbin/sendmail -v youremail@host.com
проверьте права и права собственности на папку sendmail в / usr / lib. После исправления она у меня сработала.