Я настраиваю sendmail на своем домашнем компьютере для использования с моим веб-сервером. Я настроил его на использование своего SMTP-сервера, предоставленного моей хостинговой компанией.
Если я использую следующую команду, она работает
sendmail -Am -t -v
а затем я ввожу и отправляю электронные письма.
Но если я попробую следующее, это не работает.
sendmail -v name@mydomain.com < test.txt
Электронное письмо TO такое же, как и в предыдущей команде, но в этом случае я не указал электронное письмо FROM, что, как мне кажется, является проблемой.
Я предполагаю, что он отправляет почту от пользователя @ localhost, в результате чего сервер smtp отклоняет ее. Если да, то как мне отправить его с user@mydomain.com?
Вы сможете сделать это, отредактировав свой /etc/mail/sendmail.cf
файл
#vi /etc/mail/sendmail.cf
Добавить
FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl
GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
следующий
#vi /etc/mail/genericstable
Добавить
username anotherusername@domain.com
Таким образом, вы можете сделать так, будто apache или root отправили электронное письмо как кто-то другой
apache anotherusername@mydomain.com
root anotherusername-2@mydomain.com
следующий
#vi /etc/mail/generics-domains
Добавить
subdomain.mydomain.com
mydomain.com
затем сгенерируйте новые конфигурации и перезапустите sendmail
#makemap -r hash genericstable.db < genericstable
#m4 sendmail.mc > sendmail.cf
#/etc/init.d/sendmail restart
Теперь вы должны иметь возможность отправлять свою электронную почту как root или apache или как вы определили выше, и она будет отображаться в вашем почтовом ящике как исходящая от них.
Попробуйте, войдя в систему как root или процесс apache
#echo "test" | sendmail bubba@mydomain.com
Вы должны обнаружить, что отправителем было другое имя пользователя или другое имя пользователя-2
Я рекомендую, если вашему домашнему компьютеру просто нужно отправлять электронную почту, но не получать ее, что вы настроили мсмтп вместо. Он предоставляет все функции, необходимые для отправки почты без обработки входящих сообщений. Вот образец .msmtprc
:
хост smtp.example.com
пользовательский тест
пароль testpass
с test@example.com
авторизация входа
с этим мой пользователь может отправлять почту, которая, похоже, приходит из example.com
. Если пользователю вашего веб-сервера нужно отправлять почту, вы можете настроить это для этого пользователя.