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

Настройте sendmail для ретрансляции на SMTP-сервере

Я использую дистрибутив ubuntu.

Я установил sendmail с помощью apt и отредактировал /etc/mail/sendmail.mc, и добавил строки

define(`SMART_HOST', `ssl0.ovh.net')
FEATURE(`authinfo')

перед линией

define(`_USE_ETC_MAIL_')dnl

А также настроил аутентификацию (/ etc / mail / authinfo):

AuthInfo:ssl0.ovh.net "U:myemail@mydomain.com" "P:123456" "M:PLAIN"

и беги m4 sendmail.mc >sendmail.cf и service sendmail restart

Я создал файл для проверки email.txt:

To: one@ofmyemail.com
From: my@email.com
Subject: Foo Bar

Hello
(empty line)

и я тестирую это с помощью: cat email.txt | /usr/lib/sendmail -bm -t -v

И это не удается:

one@ofmyemail.com... Connecting to [127.0.0.1] via relay...
one@ofmyemail.com... Deferred: Connection refused by [127.0.0.1]

Почему он подключается к 127.0.0.1 вместо внешнего SMTP-сервера (ssl0.ovh.net)?

Sendmail раньше устанавливался как программа set root uid. Sendmail-8.12 + больше не устанавливается (по умолчанию) как программа set root uid, чтобы избежать риска для безопасности.

Sendmail, выполняемый пользователем без полномочий root, передает сообщения демону sendmail, работающему с привилегиями root по адресу 127.0.0.1:25. Sendmail, выполняемый пользователем без полномочий root, использует /etc/mail/submit.cf вместо того /etc/mail/sendmail.cf.

https://www.sendmail.com/sm/open_source/security/secure-install/


Чтобы проверить конфигурацию sendmail.cf с правами root, выполните команду ниже (ваша тестовая команда с -Am добавлено):

cat email.txt | /usr/lib/sendmail -Am -bm -t -v