【发布时间】:2017-01-20 05:41:05
【问题描述】:
我确定有人问过这个问题,但我找不到任何东西可以让我的工作。
我正在尝试向客户发送后续电子邮件,但我想伪造电子邮件地址,因此发件人地址是给我的同事的。我在网上某处读到,标题中的发件人地址只是一个可以编辑的文本字段,但我仍然无法发送电子邮件。
import smtplib
email_to = '*****@gmail.com'
username = '*******@outlook.com'
password = '*********'
other_email = '*******@outlook.com'
mail = smtplib.SMTP('Outlook.com', 25)
mail.ehlo()
mail.starttls()
mail.login(username,password)
header = ('To:' + email_to + '\n' +'From: ' + other_email + '\n'
+ 'Subject: Python Project Test\n')
message = (header +
'\n\n This is a test message generated from a Python script. \n\n')
mail.sendmail(username, email_to, message)
mail.close()
print("Email sent successfully.")
我知道这可以做到,但有人能指出我正确的方向吗?有什么方法可以让我在发件人字段中将我的名字伪装成应该收到此邮件的电子邮件?
====================================
另外,为了完整起见,这是我得到的错误:
Traceback (most recent call last):
File "C:\Users\*****\Desktop\email outlook.py", line 16, in <module>
mail.sendmail(username, email_to, message)
File "C:\Users\*****\AppData\Local\Programs\Python\Python36-32\lib\smtplib.py", line 887, in sendmail
raise SMTPDataError(code, resp)
smtplib.SMTPDataError: (550, b'5.7.60 SMTP; Client does not have permissions to send as this sender')
我希望有办法让 other_name 成为用户名的别名。
【问题讨论】:
-
运行该程序时会发生什么?
-
可以显示您的错误消息或有关“我仍然无法发送电子邮件”的更多详细信息吗? sendmail() 工作正常但收件人没有收到邮件吗?或者它只是不起作用?
-
我知道您必须“允许不太安全的应用程序”才能从这样的 gmail 帐户发送电子邮件。我想你必须做一些事情才能从 Outlook 帐户发送。