나는 dovecot, postfix, opendkim 및 spamassassin을 사용하여 메일 서버를 설정하려고 노력해 왔습니다. 약간의 어려움 끝에 수신 메일이 제대로 작동하도록 했습니다. (저는 이메일로 계정을 등록했습니다!) 그러나 이메일 전송이 작동하지 않습니다. 새 이메일에서 이전 Protonmail 계정으로 전송하여 테스트했지만 오류가 발생했습니다. 마찬가지로 이전 이메일에서 새 이메일까지 수신 메일에도 작동합니다. Neomutt를 사용하여 메일 전송 명령으로 msmtp를 사용하여 전송을 테스트합니다.
relayhost
내 도메인의 포트 587에 연결된 포트가 있습니다 . 이는 내 ISP가 뚱뚱하고 어떤 이유로 포트 25를 차단하기 때문입니다. 어쨌든, 이메일을 보낼 때 받은 로그 메시지는 다음과 같습니다.
postfix/submission/smtpd[57255]: NOQUEUE: reject: RCPT from unknown[192.168.86.1]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail.doma.in>
postfix/smtp[57263]: E45589003B2: to=<[email protected]>, relay=MY.IP[MY.IP]:587, delay=0.2, delays=0.14/0.02/0.02/0.02, dsn=4.7.1, status=deferred (host MY.IP[MY.IP] said: 454 4.7.1 <[email protected]>: Relay access denied (in reply to RCPT TO command))
postfix/submission/smtpd[57255]: disconnect from unknown[192.168.86.1] ehlo=2 starttls=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=6/8
postconf -n
:
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
command_directory = /usr/bin
compatibility_level = 3.6
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 = Mail/Inbox/
html_directory = no
inet_protocols = ipv4
mail_owner = postfix
mailbox_command = /usr/lib/dovecot/deliver
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
meta_directory = /etc/postfix
milter_default_action = accept
milter_protocol = 6
mydestination = $myhostname, $mydomain, localhost, localhost.localdomain, 127.0.0.1, MY.IP
mydomain = doma.in
myhostname = mail.doma.in
mynetworks = , 127.0.0.0/8 [::1]/128 MY.IP/32 MY.PRIVATE.IP MY.IP
newaliases_path = /usr/bin/newaliases
non_smtpd_milters = inet:127.0.0.1:12301
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix
relay_domains = $mydestination
relayhost = [MY.IP]:587
sample_directory = /etc/postfix
sendmail_path = /usr/bin/sendmail
setgid_group = postdrop
shlib_directory = /usr/lib/postfix
smtp_tls_CAfile = /etc/letsencrypt/live/doma.in/cert.pem
smtp_tls_loglevel = 3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_security_level = may
smtpd_milters = inet:127.0.0.1:12301
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_security_options =
smtpd_sasl_tls_security_options =
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/letsencrypt/live/doma.in/fullchain.pem
smtpd_tls_exclude_ciphers = aNULL, LOW, EXP, MEDIUM, ADH, AECDH, MD5, DSS, ECDSA, CAMELLIA128, 3DES, CAMELLIA256, RSA+AES, eNULL
smtpd_tls_key_file = /etc/letsencrypt/live/doma.in/privkey.pem
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_security_level = may
tls_preempt_cipherlist = yes
unknown_local_recipient_reject_code = 550
포트 587에서 수신 대기 중입니다.
# lsof -i -P -n|grep 587
...
master 57239 root 94u IPv4 970320 0t0 TCP *:587 (LISTEN)
smtpd 57364 postfix 6u IPv4 970320 0t0 TCP *:587 (LISTEN)
smtpd 57367 postfix 6u IPv4 970320 0t0 TCP *:587 (LISTEN)
smtpd 57371 postfix 6u IPv4 970320 0t0 TCP *:587 (LISTEN)
smtpd 57374 postfix 6u IPv4 970320 0t0 TCP *:587 (LISTEN)
이 오류가 발생하는 이유는 무엇입니까? 나는 특히 다음과 같은 몇 가지 다른 질문을 다루었습니다.
- https://serverfault.com/questions/42519/how-to-Cordirect-postfix-relay-access-denied
- https://serverfault.com/questions/711588/postfix-relay-access-denied-how-to-fix-it
- 외부 수신자에게 SMTP를 사용할 때 릴레이 액세스가 거부되었습니다. POSTFIX FREEBSD
하지만 이 중 어느 것도 도움이 되지 않습니다
답변1
마침내 .192.168.86.0/24
mynetworks
또 다른 질문이 있는데, 이에 대해 새로운 질문을 드리겠습니다.