1

Как включить SMTP-аутентификацию?

Когда я пытаюсь отправить сообщение электронной почты с адреса электронной почты, зарегистрированного на моем почтовом сервере (example@mydomain.com), на мой адрес электронной почты icloud (@ icloud.com), я получаю это обратно:

Письмо с IP (my.ip.rigth.here) было отклонено из-за размещения в Spamhaus
PBL. Подробности смотрите
http://www.spamhaus.org/query/bl?ip= my.ip.rigth.here

И когда я получаю доступ к этой ссылке, я вижу это красным:

Почта с IP (my.ip.rigth.here) была отклонена из-за включения в Политику исходящей электронной почты Spamhaus проекта Spamhaus для этого диапазона IP-адресов:

Этот диапазон IP-адресов был определен Spamhaus как не соответствующий нашей политике в отношении IP-адресов, разрешенных для доставки неаутентифицированной электронной почты «direct-to-mx» пользователям PBL. Важное замечание: Если вы используете обычное почтовое программное обеспечение (такое как Outlook, Entourage, Thunderbird, Apple Mail и т.д.), И вы блокируетесь этим списком Spamhaus PBL при попытке отправить электронную почту, причина заключается в том, что вам просто необходимо включите "Аутентификация SMTP" в настройках программы электронной почты. Для получения справки по аутентификации SMTP или способов быстрого решения этой проблемы нажмите здесь.

Смотрите также: (ссылка здесь о Spamhaus PBL)

Как я могу включить аутентификацию SMTP; Я до этого дошёл до этого урока: https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql

Я попытался закрыть порт 25 на своем маршрутизаторе ISP, но с этим я не могу получать письма, кроме как с той же почты, которая его получает (example@example.com)

в моем почтовом клиенте MAC я вижу, что использует только порты 587 для SMTP и 993 для IMAP.

У меня вопрос, как я могу включить аутентификацию SMTP? или может обойти Spamhaus?

1 ответ1

2

Некоторое время назад я написал учебник по SMTP-аутентификации в Postfix. Источник можно найти по адресу http://blog.mtak.nl/2013/04/simple-smtp-auth-on-postfix/ .

TLS

Когда вы отправляете пароль по сети, он должен быть зашифрован. Добавьте следующие параметры в ваш main.cf чтобы включить TLS:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Конечно, вы должны убедиться, что параметры cert_file указывают на действительные сертификаты. Сертификаты snakeoil по умолчанию должны быть достаточно безопасными для большинства пользователей, но вы всегда можете приобрести некоторые сертификаты, подписанные CA.

Вы можете проверить TLS с помощью утилиты OpenSSL

$ openssl s_client -starttls smtp -crlf -connect 127.0.0.1:25
CONNECTED(00000003)
[output truncated]
SSL handshake has read 1646 bytes and written 354 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 17C511889EDC11109C9F71C16F7F70AB9B8868129C4B796F96B2F0A68E581A8E
    Session-ID-ctx:
    Master-Key: E391BF9B8940CD36D5E98BC5FAF05860E86AAE4667D5E8E87081AD4A98A7EA91F770790C053A2ECCA42AD2937AD83F90
    Key-Arg   : None
    Start Time: 1365632805
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN
quit
221 2.0.0 Bye
closed
$

SASL

SMTP не имеет встроенных возможностей аутентификации, но его можно расширить с помощью инфраструктуры SASL. SASL описан в RFC4422. Для простоты мы будем использовать PAM в качестве бэкэнда аутентификации. Обратитесь к saslauthd(8) для получения дополнительной информации о бэкэндах аутентификации.

Чтобы настроить SASL: Установите все пакеты, необходимые для SASL:

 $ sudo apt-get install libsasl2-2 sasl2-bin libsasl2-modules

Отредактируйте /etc/default/saslauthd . Вы можете оставить настройки по умолчанию, но убедитесь, что они совпадают:

[...]
START=yes
MECHANISMS="pam"
THREADS=1
[...]
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Создайте /etc/postfix/sasl/smtpd.conf :

saslauthd_version: 2
pwcheck_method: saslauthd
mech_list: plain login

Измените /etc/postfix/main.cf :

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
   permit_sasl_authenticated,
   permit_mynetworks,
   check_relay_domains

Добавьте пользователя postfix в группу sasl Unix:

$ adduser postfix sasl
Start the SASL daemon and restart Postfix:
$ /etc/init.d/saslauthd start
$ /etc/init.d/postfix restart

Вы можете проверить функциональность SMTP AUTH, создав хэш base64 вашего пароля и используя его для входа в систему:

$ printf '\0%s\0%s' 'username' 'password' | openssl base64
AHVzZXJuYW1lAHBhc3N3b3Jk
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.gallische-dorp.net ESMTP Postfix
EHLO localhost
250-mail.gallische-dorp.net
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN AHVzZXJuYW1lAHBhc3N3b3Jk
235 2.7.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .