Tôi nhận được lỗi này:lỗi SMTP: "Người nhận giải quyết từ chối" khi cố gắng để gửi một email bằng python và postfix
raise SMTPRecipientsRefused(senderrs) smtplib.SMTPRecipientsRefused: {'[email protected]': (550, '5.1.1 : Recipient address rejected: hotmail.com')}
khi cố gắng chạy script python của tôi.
Bất kể địa chỉ người nhận tôi đăng nhập là gì, nó vẫn sẽ cho tôi lỗi tương tự. Tôi có cấu hình của postfix được cài đặt như là địa phương và nó đúng cách nhận ra 'localhost' nhưng không phải là bất kỳ địa chỉ người gửi nào. Đây là mã của tôi:
import smtplib
def sendEmail(addressFrom, addressTo, msg):
server = smtplib.SMTP('localhost')
server.set_debuglevel(1)
server.sendmail(addressFrom, addressTo, msg)
server.quit()
msg = "This is the content of the email"
addressFrom = ""
addressTo = "[email protected]"
sendEmail(addressFrom, addressTo, msg)
Và đây là tệp main.cf cho postfix. Nhìn vào nó bây giờ, mydestination chỉ được thiết lập để địa phương địa phương, có thể đó là vấn đề?
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# 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:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = user-desktop
**mydomain = hotmail.com**
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
**mydestination = user-desktop, localhost.$mydomain www.$mydomain**
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = error
relay_transport = error
inet_protocols = ipv4
Cảm ơn bạn trước
Thật sao? Nó sẽ giúp ích nếu tôi đăng tập tin cấu hình? – user1186173
"Nhìn vào nó bây giờ, mydestination chỉ được thiết lập để địa chỉ địa phương, có thể đó là vấn đề?" Đúng chính xác. Xem http://www.postfix.org/postconf.5.html#mydestination – Sahand
Cảm ơn bạn đã liên kết, nó chắc chắn hữu ích, tôi đã thực hiện một vài thay đổi nhưng tôi vẫn nhận được lỗi tương tự. Ngoài ra, tôi muốn có thể gửi email đến bất kỳ tên miền nào, không chỉ một tên miền cụ thể. Tôi cảm thấy cấu hình hiện tại chỉ dành cho các miền cụ thể. – user1186173