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

Sendmail отказывается подключаться после настройки ретрансляции SMTP

Я настраиваю 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. Если пользователю вашего веб-сервера нужно отправлять почту, вы можете настроить это для этого пользователя.