600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python实现匿名发邮件_python 发送匿名邮件或无发件人

python实现匿名发邮件_python 发送匿名邮件或无发件人

时间:2020-10-08 11:55:06

相关推荐

python实现匿名发邮件_python 发送匿名邮件或无发件人

简述

python 发送邮件一般可以通过smtplib,如果发送时不设置发送人信息,会有什么效果呢

取消发件人信息

取消From 信息设置。

import smtplib

from email.header import Header

from email.mime.text import MIMEText

from email.utils import parseaddr, formataddr

def __format_addr(k):

name, addr = parseaddr(k)

return formataddr((Header(name, 'utf-8').encode(), addr))

def send_mail():

# 163邮箱smtp服务器

wy_server = ''

# sender_163为发件人的163号码

sender_163 = 'xxx@'

# pwd为163邮箱的授权码

pwd = 'xxx'

# 发件人的邮箱

sender_163_mail = 'xxx@'

# 收件人邮箱

receivers = ['xx@']

# 邮件的正文内容

mail_content = '你好,这是使用python登录163邮箱发邮件的测试'

# 邮件标题

mail_title = '极客架构的邮件,可以关注公众号:极客架构。'

try:

# ssl登录

smtp = smtplib.SMTP_SSL(wy_server)

# set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式

smtp.set_debuglevel(1)

smtp.ehlo(wy_server)

smtp.login(sender_163, pwd)

msg = MIMEText(mail_content, "plain", 'utf-8')

msg["Subject"] = Header(mail_title, 'utf-8').encode()

#msg["From"] = Header("这是来自远方的一封匿名邮件", 'utf-8') # 发送者

#msg["From"] = __format_addr(sender_163)

msg["To"] = __format_addr(receivers)

smtp.sendmail(sender_163, receivers, msg.as_string())

smtp.quit()

return "success"

except smtplib.SMTP_SSLException as e:

return "error"

if __name__ == "__main__":

print(send_mail())

取消发件人收信效果

生成一个发件信息

msg["From"] = Header("这是来自远方的一封匿名邮件", 'utf-8')

生成一个匿名地址

#msg["From"] = __format_addr('xxx@')

总结

以上的方式中,收信后,都没有直接体现发件人信息。以上只是为测试,不要用于非法用途。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。