Назад | Перейти на главную страницу

Ошибка при отправке почты из командной строки от имени пользователя без полномочий root

Я пытаюсь отправить почту из командной строки как пользователь без полномочий 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. После исправления она у меня сработала.