Postfix не получает почту извне с локального хоста

Я ' Я установил Postfix + Dovecot в моей установке Parabola (на основе Arch). Похоже, это работает, я могу отправлять электронные письма на любой адрес, и это работает, а также получать почту , но только с локальных адресов .

Если я делаю mailmy@domain.org, я получаю электронное письмо (как автоматическая отправка мне электронного письма). Но если я сделаю это с другой учетной записи электронной почты, внешней, я просто не получу ее.

Все порты работают локально, но если я попытаюсь telnet [my_public_IP] 25 (или 587), он сбой (я спрошу у своего интернет-провайдера, что происходит).

Дополнительные результаты:

$ postconf -n
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/bin
compatibility_level = 2
daemon_directory = /usr/lib/postfix/bin
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = localhost # I've tried using my IP address, with no luck
inet_protocols = all
mail_owner = postfix
mailbox_size_limit = 134217728
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 134217728
meta_directory = /etc/postfix
mydomain = eumela.ga
myhostname = smtp.eumela.ga
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix
sample_directory = /etc/postfix
sendmail_path = /usr/bin/sendmail
setgid_group = postdrop
shlib_directory = /usr/lib/postfix
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/letsencrypt/live/eumela.ga/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/eumela.ga/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
unknown_local_recipient_reject_code = 550
virtual_alias_domains = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual

$ cat /etc/dovecot/dovecot.conf
protocols = imap pop3
auth_mechanisms = plain
passdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}
userdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}

service auth {
    unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0660
        user = postfix
    }
    user = root
}
#service auth {
# inet_listener {
#   port = 587
# }
#}
mail_home = /home/vmail/%d/%n
mail_location = maildir:~

ssl_cert = </etc/letsencrypt/live/eumela.ga/fullchain.pem
ssl_key = </etc/letsencrypt/live/eumela.ga/privkey.pem

Вывод 10-auth.conf, 10-mail.conf, 10-master.conf, 10-ssl.conf и 20-imap.conf (из /etc/dovecot/conf.d)[1217 visibleUpdate: Здесь журнал с сегодняшнего дня, 24 августа. Это комбинация mail.log , mail.err и mail.info

0
задан 24 August 2017 в 03:12
4 ответа

благодаря ответу @ Stefan, но мне также пришлось сделать:

$ sudo postconf -e 'mydestination = localhost.$mydomain, localhost, $mydomain'

И теперь я могу получать почту извне ...

PS: Могу ли я указать «все» в mydestination '?

0
ответ дан 4 December 2019 в 16:09
 inet_interfaces = localhost # Я безуспешно пытался использовать свой IP-адрес`
 

если вы слушаете только локальный хост, ваш SMTP-сервер не будет доступен извне. вам, вероятно, следует изменить это на all . ср. http://www.postfix.org/postconf.5.html#inet_interfaces

после перезапуска службы postfix вы можете проверить с помощью netstat -tulpn , какие интерфейсы и порты прослушивает ваш сервер. .

если postfix прослушивает все интерфейсы на порту 25, но все еще недоступен извне, вам следует проверить настройки брандмауэра

1
ответ дан 4 December 2019 в 16:09

У меня была аналогичная проблема для всех наших доменов, и никто не получал электронные письма от внешних почтовых клиентов, таких как Outlook и т. Д., Но затем я добавил порт 25 в брандмауэр, и с тех пор я начал получать электронные письма.

Выполните следующую проверку:

  • netstat -tulpn «если вы видите порт 25, значит, вы слушаете этот порт локально »
  • Затем проверьте свой брандмауэр, возможно, вы не разрешение трафика на этот порт
  • Добавьте порт 25 к вашему брандмауэру
  • Наконец, проверьте свой почтовый журнал tail -f / var / log / maillog

Надеюсь, это кому-то поможет.

0
ответ дан 4 December 2019 в 16:09

Добавить адреса электронной почты в / etc / postfix / virtual (скрыто) mylocalusername (скрыто) mylocalusernam2

Затем запустите postmap / etc / postfix / virtual

Снимите комментарий со строки, которая гласит следующее. virtual_alias_maps = hash: / etc / postfix / virtual

Перезапустить постфикс systemctl restart postfix

Также убедитесь, что сервер прослушивает порт 25 для входящей почты. Убедитесь, что в брандмауэре открыт порт 25.

0
ответ дан 4 December 2019 в 16:09

Теги

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