我可以使用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')}
Admin坚持启用了中继功能,并告诉我使用Powershell向外部域发送电子邮件是可行的,因此这不是中继问题。
所以现在我被卡住了。如果这不是python告诉我的问题,是我的管理员错了还是发生了其他事情?
有什么想法吗?
答案 0 :(得分:0)
在这种情况下,我只需要进行身份验证即可
server.ehlo()
server.starttls()
server.ehlo
server.login('user', 'pass')