python - 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])
解决方案
使用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))
推荐阅读
- python - 为什么我有时会收到索引错误,但有时不会?
- java - Java 8 - Stream - 引用复合对象
- node.js - 如何修复“模块构建失败(来自 ./node_modules/image-webpack-loader/index.js)”
- python-3.x - 使用python将文件直接上传到S3
- java - 当一个类的实例本身被创建时,为什么构造函数中的语句没有被执行?
- tensorflow - 如何将 Keras_contrib(和 conda 中不可用的其他包)下载到 Pycharm?
- python - 转换字符串输出以验证每一行
- android - 我怎样才能实用地停止HDMI流android
- python - Django:保存通过 ImageField 上传的图像
- laravel - 在 Heroku 中使用 Laravel 迁移到 Postgres 时出错