Постфиксное реле размещает сбои соединения: приведенный к таймауту при получении начального приветствия сервера

apache пользователь не имеет достаточных прав отправить пакеты ICMP, рассмотреть использование библиотеки Net_Ping от ГРУШИ вместо этого. При использовании Debian, он может быть установлен с помощью apt-get install php-net-ping

6
задан 1 October 2013 в 06:45
3 ответа

Я не уверен, что это то место, куда я должен это поместить, но вот как я получил это.

Итак, kworr и befreeandgood направили меня на верный путь. Smtp_sasl_ * ничего не делает с SSL, только с аутентификацией.

Я выполнил комбинацию инструкций из следующих ссылок: Это меня близко http://www.eglug.org/book/export/html/1923 но упустил некоторые настройки. Этот http://tech.surveypoint.com/blog/relay-mail-with-postfix-and-stunnel/ добавил inet_interfaces = loopback_only .

Эти варианты меня достали к некоторым проблемам с почтовым сервером, отклоняющим различные имена заголовков, такие как «от» и «ответ на». Я исправил их с помощью некоторых инструкций, которые я нашел через поиск в Google (но мне не разрешено публиковать эти ссылки, поскольку я уже превысил свою квоту ссылок).

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = loopback-only
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = my-office.local
myhostname = td1000.my-office.local
mynetworks = /etc/postfix/network_table
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.5.6/README_FILES
relayhost = 127.0.0.1:5001
sample_directory = /usr/share/doc/postfix-2.5.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_connect_timeout = 60
smtp_generic_maps = hash:/etc/postfix/generic
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_sasl_type = cyrus
smtp_use_tls = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_tls_auth_only = no
smtpd_tls_loglevel = 2
smtpd_tls_received_header = no
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_domains =
virtual_transport = lmtp:unix:/var/lib/imap/socket/lmtp

Таким образом, smtp_generic_maps использовался для переименования различных адресов, которые подходили к какой-то адрес, который действительно существует. Мне пришлось сделать это для двух разных имен, которые я нашел, просмотрев файл / var / log / maillog.

Итак, сводка для подключения к Bluehost:

  • Включить проверку подлинности smtp_sasl
  • Использовать stunnel для создания туннеля SSL
  • Использовать smtp_generic_maps для сопоставления несуществующих имен пользователей, которые использует звездочка.
  • Бездельничать. с mydomain, и это может помочь вам обойти общие требования к картам. Я также видел, как кто-то ссылается на $ myorigin как на возможное решение.
2
ответ дан 3 December 2019 в 00:25

When destination domain has no MX records SMTP server should try delivering mail to any of domain A records. For example.net this would be any address of example.net.

If the connection to encrypted port fails you need to consult postfix manual about smtp_tls_security_level parameter. You can find there a lengthy explanation but I think in most cases you just need to add to your config:

smtp_tls_security_level=may
0
ответ дан 3 December 2019 в 00:25

У нас есть два факта

  • Вы подключаетесь к bluehost через порт 465
  • Postfix сообщил об ошибке: потеряно соединение с boxNNN.bluehost.com [abcd] в то время как получение начального приветствия сервера

Одним из возможных объяснений является SMTP-клиент в Postfix 2.11 или более ранней версии не поддерживает SSL .

Объяснение

В SMTP есть две схемы шифрования : STARTTLS и SMTPS. Разница в том, что (1) SMTPS требует SSL-шифрование из первого байта и (2) STARTTLS сначала требует текстовый режим и, возможно, клиент и сервер выполняют согласование SSL после команды STARTTLS.

SMTP-сервер Postfix (smtpd) поддерживает оба протоколы . Проблема в том, что SMTP-клиент (до postfix 3.0) - тот, кто отправляет электронную почту на удаленный сервер - не поддерживает SMTPS-соединение. Он поддерживает только режим обычного текста или режим STARTTLS.

Здесь происходит следующее: SMTP-клиент Postfix использует режим обычного текста для подключения к Bluehost, потому что postfix хочет установить STARTTLS. Но Bluehost ожидает, что первый байт был согласованием SSL, а не простым текстом. Это несоответствие заставляет сервер Bluehost молча отбрасывать данные и отключать постфикс. Postfix не знает, что здесь происходит, поэтому выдает ошибку в maillog

Sep 27 16:31:51 TD1000 postfix/smtp[9757]: 1B2C357117: to=<me@mycompany.com>, relay=boxNNN.bluehost.com[a.b.c.d]:465, delay=5241, delays=5076/0.03/165/0, dsn=4.4.2, status=deferred (lost connection with boxNNN.bluehost.com[a.b.c.d] while receiving the initial server greeting)

Решение

Документация Postfix TLS предоставляет обходной путь для использования stunnel. Итак решение от MrPhilTX было правильным для Postfix <3.0.

В postfix 3.0 Wietse Venema решил предоставить дополнительную функцию SMTPS для postfix SMTP-клиента. Благодаря этой функции решение stunnel здесь не требуется. Здесь есть два варианта:

a) Включить SMTPS для всех исходящих SMTP-соединений

Обычно в этом случае postfix имеет SMTPS-only relayhost , как проблема OP. Итак

# Client-side SMTPS requires "encrypt" or stronger.
smtp_tls_security_level = encrypt
smtp_tls_wrappermode = yes
# The [] suppress MX lookups.
relayhost = [mail.example.com]:465

b) Включите SMTPS для нескольких хостов

В другом случае вам понадобятся настраиваемые транспортные и transport_maps для выборочного включения SMTPS

# /etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport

# /etc/postfix/transport:
example.com  relay-smtps:example.com:465

#/etc/postfix/master.cf:
relay-smtps  unix  -       -       n       -       -       smtp
    # Client-side SMTPS requires "encrypt" or stronger.
    -o smtp_tls_security_level=encrypt
    -o smtp_tls_wrappermode=yes
5
ответ дан 3 December 2019 в 00:25

Теги

Похожие вопросы