Truy cập chuyển tiếp Postfix bị từ chối khi gửi tới Gmail bằng Telnet


1

Tôi có thiết lập postfix và dovecot để xử lý thư cho tên miền của mình. Imap có vẻ hoạt động tốt khi đọc thư cục bộ nhưng khi tôi cố gắng gửi email bằng telnet với localhost và cổng smtp thì nó báo lỗi truy cập chuyển tiếp bị từ chối.

    [root@vps69576 ~]# telnet localhost smtp
    Trying ::1...
    Connected to localhost.
    Escape character is '^]'.
    220 mail.domain.net ESMTP Postfix
    ehlo domain.net
    250-mail.domain.net
    250-PIPELINING
    250-SIZE 10240000
    250-VRFY
    250-ETRN
    250-AUTH PLAIN LOGIN
    250-AUTH=PLAIN LOGIN
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250 DSN
    mail to:
    501 5.5.4 Syntax: MAIL FROM:<address>
    mail from:dan@domain.net
    250 2.1.0 Ok
    rcpt user@gmail.com
    554 5.7.1 <user@gmail.com>: Relay access denied

Nội dung của tệp main.cf là

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/libexec/postfix

data_directory = /var/lib/postfix
mail_owner = postfix

myhostname = mail.domain.net

mydomain = domain.net

myorigin = $mydomain

inet_interfaces = all

inet_protocols = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

unknown_local_recipient_reject_code = 550

mynetworks = 127.0.0.0/8, <site IP>

relay_domains = 

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

home_mailbox = Maildir/

sendmail_path = /usr/sbin/sendmail.postfix

newaliases_path = /usr/bin/newaliases.postfix

mailq_path = /usr/bin/mailq.postfix

setgid_group = postdrop

html_directory = no

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/postfix-2.6.6/samples

readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks, reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

Câu trả lời:


4

Bạn đang kết nối với localhost qua IPv6 (:: 1), nhưng địa chỉ đó không nằm trong danh sách "mynetworks". Thay đổi nó thành

mynetworks = 127.0.0.0/8, <trang IP>, [:: 1] / 128

và nó nên hoạt động.


Điều này một phần làm việc. "telnet localhost smtp" thực thi tốt và thư đã được gửi. Khi tôi sử dụng telnet smtp.domain.com 25, nó sẽ cho tôi một lỗi chuyển tiếp khác. Nó đang sử dụng ipv6 của tên miền của tôi kết thúc bằng :: 3e0. Tôi giả sử vì / 128 không bao gồm phạm vi từ số hex này. Tôi đã thử dán ipv6 ip vào mạng mynetworks và nó gây ra lỗi khi tôi chạy telnet
Dan Hastings

tôi đã khắc phục điều này bằng cách sao chép địa chỉ ipv6 với dấu ngoặc vuông xung quanh nó vì vậy [xxxx: xxxx: xxx :: xxx]
Dan Hastings

Phải - nó phụ thuộc vào địa chỉ IP mà bạn đang kết nối. Để chắc chắn, bạn có thể đặt tất cả các địa chỉ IP cục bộ vào mynetworks, như thế này: mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0[/104 [:: 1] / 128 [2001: db8: 1407: c3a0 ::] / 60 128.66,85.168
JyrgenN
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.