知道如何使用 smtplib 在 python 中欺骗电子邮件发件人吗?

问题描述 投票:0回答:2

我又浪费了一天的时间在 python 上,我正在考虑如何使用 python 中的 smtplib 来欺骗电子邮件地址。我认为可以使用下面的代码来欺骗发件人地址,但它不起作用。我在 github 上看到过一些项目似乎能够真正欺骗电子邮件,但如果我要创建一个自己的程序来做到这一点,它究竟会如何工作?有任何想法吗?代码:

import smtplib

username = (mygmailusername)
password = (mypassword)
fakefrom = "[email protected]"
toEmail = (toAddress)

server = smtplib.SMTP("smtp.gmail.com",587)
server.starttls()
server.login(username,password)
server.sendmail(fakefrom,toEmail,"this is the fbi. OPEN UP")
server.close()
python smtp spoofing
2个回答
0
投票

大多数提供商都会检查帐户与发件人地址,如果发件人地址与发件人不匹配,则不允许。如果您有设置盒子网络,请尝试使用您的提供商网络 smtp 服务器,无需在 smtp 25 端口上进行身份验证,大多数情况下都可以发送邮件。但使用这种方法,许多接收服务器会直接将此邮件标记为垃圾邮件/危险邮件。您可以直接在消息工具(outlook,...)中尝试,它的行为与您的代码相同。


0
投票

抱歉我来晚了一点。问题在于倒数第二行:

server.sendmail(fakefrom,toEmail,"this is the fbi. OPEN UP")

您正在尝试使用“假发件人”地址来实际发送电子邮件,这不是您想要做的。您只是想“欺骗”它,让收件人认为电子邮件来自不同的地址。您可以通过在邮件正文中定义发件人详细信息来完成此操作。

您需要使用的代码是:

import smtplib

username = (mygmailusername)
password = (mypassword)

fake_from = "[email protected]"
fake_name = "Donald Trump"

to_email = (toAddress)
to_name = (toName)

subject = "Bonjour"
content = "This is the fbi. OPEN UP"

message = f"From: {fake_name} <{fake_from}>\nTo: {to_name} <{to_email}>\nSubject: {subject}\n\n{content}"

server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(username, password)
server.sendmail(username, to_email, message.encode())
server.close()
© www.soinside.com 2019 - 2024. All rights reserved.