我可以使用 mime 和 smtplib 在内部自动化一些电子邮件,但由于某种原因,这些电子邮件无法发送到外部地址(公司域之外)
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email import Encoders
import smtplib
SERVER = 'mailrelay'
FROM = 'myemail@internaldomain.com'
TO = ['myemail@internaldomain.com','someemail@externaldomain.com']
body = 'This is a test'
msg = MIMEMultipart()
msg["To"] = ','.join(TO)
msg["From"] = FROM
msg["Subject"] = 'Automated Test Email'
msgText = MIMEText(body, 'html')
msg.attach(msgText)
message = msg.as_string()
server = smtplib.SMTP(SERVER)
server.sendmail(FROM,TO,message)
server.quit()
产生此错误:
SMTPRecipientsRefused: {'someemail@externaldomain.com': (550, '5.7.1 Unable to relay')}
管理员坚持启用了中继,并告诉我使用 Powershell 向外部域发送电子邮件是可行的,所以它不可能是中继问题。
所以现在我被困住了。如果这不是 python 告诉我的问题,是我的管理员错了还是发生了其他事情?
有任何想法吗?