首页 > 解决方案 > SMTP 出站:欺骗 ipv4 接收者来自

问题描述

SMTP 出站流量,如何在发送的电子邮件中隐藏 ipv4?

我正在使用 ipv6 发送电子邮件:

    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText

    smtpserver = smtplib.SMTP("smtp.gmail.com", 587, source_address=("2a00:b700:5::1:1fe",0, 0, 0))
    smtpserver.ehlo()
    smtpserver.starttls()
    smtpserver.login('mygmail@gmail.com', 'mypwd')
    msg = MIMEMultipart('alternative')
    msg['Subject'] = "Good Morning"
    msg['From'] = 'mygmail@gmail.com'
    msg['To'] = "receipient@gmail.com"
    MIMEText("Hello", 'html')
    msg.attach(part2)
    smtpserver.sendmail(msg['From'], "receipient@gmail.com", msg.as_string())

接收者得到这样的电子邮件来源:

在此处输入图像描述

来自:[IPv4] ([ipv6])

例如,我如何使用域隐藏 [IPv4]?我在一个 php 应用程序上看到他们使用域隐藏 IPv4,例如:abc.xyz(即使没有拥有这个域)

所以他们的消息来源就像:来自:[Domain]([ipv6])

标签: pythonemailsmtpipv6outbound

解决方案


使用local_hostname参数 tosmtplib.SMTP()覆盖默认主机名。

smtpserver = smtplib.SMTP("smtp.gmail.com", 587, local_hostname = 'spoofed.exxample.com', source_address=("2a00:b700:5::1:1fe",0, 0, 0))

推荐阅读