Не удается отправить письмо в Интернет с почтового сервера Postfix. (Доступ к передаче закрыт)

5560
Pithikos

У меня есть почтовый сервер, на котором работает Postfix в моей локальной сети, с помощью которого я могу отправлять и получать электронные письма в своей локальной сети и отправлять их из глобальной сети в локальную сеть. Я не могу отправить из локальной сети в глобальную сеть .

Я пытаюсь использовать хост-ретранслятор моего провайдера (mail2.bahnhof.se) для решения этой проблемы, так как это кажется самым простым способом (ретрансляция не требует аутентификации).

С помощью telnet я могу подключиться напрямую к хосту ретранслятора и отправить электронное письмо без аутентификации

> telnet mail2.bahnhof.se 25 Connected to mail2.bahnhof.se. helo mail.mydomain.com 250 mxf2.bahnhof.se mail from: user11@mail.mydomain.se 250 Ok rcpt to: user11@gmail.com 250 Ok data 354 End data with <CR><LF>.<CR><LF> This is a test . 250 Ok: queued as 9BFD413BAE5 

Попытка использовать одно и то же реле на моем постфиксном сервере дает мне ошибку «Отказано в доступе к ретрансляции» (не уверен, что это означает:

>telnet mail.mydomain.com 25 HELO mail.mydomain.com 250 mail.mydomain.com mail from: user11@mail.mydomain.com 250 2.1.0 Ok rcpt to: user11@gmail.com 554 5.7.1 <user11@gmail.com>: Relay access denied 

Моя постфиксная конфигурация (main.cf):

# 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:$/smtpd_scache smtp_tls_session_cache_database = btree:$/smtp_scache  myhostname = mail.mydomain.com mydomain = mydomain.com myorigin = $mydomain smtpd_sender_restrictions = permit_mynetworks alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = mail.mydomain.com, ubuntu, localhost relayhost = mail2.bahnhof.se mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all 

Есть идеи, что может быть не так?

0

1 ответ на вопрос

2
drk.com.ar

Yes. Your server is denying relay to you. Because:

smtpd_sender_restrictions = permit_mynetworks mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 

So you have to add you IP range (the IP of your telnet client, for instance) to my_networks

mynetworks = 192.168.0.15 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 

In case you telnet client's IP is 192.168.0.15

If your server is hosted on an ISP and you are using unknown dynamic IP range you will have to use SMTP authentication in your server. Or just leave your server as an open relay (which of course I wouldn't recommend).

Спасибо! Это решило это. Я думал, что 127.0.0.0 было достаточно, поскольку я вел телнет с локального хоста. Pithikos 9 лет назад 0
Но вы написали «telnet mail.mydomain.com 25» и, вероятно, ваш клиент telnet связал свой сокет с вашим локальным IP-адресом вместо локальной обратной связи (127.0.0.1). Вы можете проверить это, выполнив команду «telnet 127.0.0.1 25» без добавления IP-адреса в мои сети. drk.com.ar 9 лет назад 0