zoukankan      html  css  js  c++  java
  • 关于邮箱发送邮件二之附件及图片

    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    from email.mime.multipart import MIMEMultipart
    from email.mime.base import MIMEBase
    from email import encoders

    # come_from 是自己的邮箱,password是邮箱的授权码
    come_from = '2577452716@qq.com'# who 用户是谁 ,相当于用户名。
    password = 'jgodszkzfkrqebeb' # 秘钥串 ,相当于密码。

    # to_email 是接收的邮箱
    to_email = '2435224077@qq.com' # 我要发送给谁

    # 邮件服务器
    smtp_server = 'smtp.qq.com' #我们自己不搭建了,有免费的还稳定,出了事情都能找服务商, QQ邮箱的服务域名
    # 想要在邮件中添加附件。首先需要构造一个MIMEMultipart对象表示邮件整体,然后添加一个MIMEText作为邮件正文,添加一个MIMEBase对象作为附件即可
    msg = MIMEMultipart()
    # 邮件头部信息
    msg['From'] = Header(come_from)
    # 发送给谁
    msg['To'] = Header(to_email)
    # 邮件主题
    msg['Subject'] = Header('1908大实训')

    # 附件
    # 附件第二个参数为格式,默认为纯文本,
    # msg.attach(MIMEText('Hello, my friend...', 'plain', 'utf-8'))

    # 邮件中正文显示图片
    # 我们需要先把图片作为附件,然后在HTML中通过引用src="cid:0"就可以把附件作为图片嵌入了。
    # 显示附件图片需要把第二个参数改为html, img标签src属性为 src="cid:0"
    # 图片的第二个参数为html
    msg.attach(MIMEText('<html><body><h1>Hello, my friend...</h1>' +
    '<p><img src="cid:0"></p>' +
    '</body></html>', 'html', 'utf-8'))
    with open('D:/tupian/1.png', 'rb') as f: # 打开需要添加的附件
    mime = MIMEBase('image', 'png', filename='1.png') # 创建MIMEBase对象,即附件内容
    mime.add_header('Content-disposition', 'attachment', filemane='1.png') # 添加必要的头文件
    mime.add_header('Content-ID', '<0>')
    mime.add_header('X-Attachment-ID', '0')
    mime.set_payload(f.read()) # 读进附件的内容
    encoders.encode_base64(mime) # 用base64编码
    msg.attach(mime) # 把附件添加到主体对象中

    # 创建实例
    server = smtplib.SMTP_SSL(smtp_server)
    # QQ邮箱SMTP的端口号是465或587
    server.connect(smtp_server, 465)
    # 登录邮箱
    server.login(come_from, password)
    # 发送邮件
    server.sendmail(come_from, to_email, msg.as_string())
    print("发送完成")
    # 退出邮箱
    server.quit()
  • 相关阅读:
    HDU 6182 A Math Problem 水题
    HDU 6186 CS Course 位运算 思维
    HDU 6188 Duizi and Shunzi 贪心 思维
    HDU 2824 The Euler function 欧拉函数
    HDU 3037 Saving Beans 多重集合的结合 lucas定理
    HDU 3923 Invoker Polya定理
    FZU 2282 Wand 组合数学 错排公式
    HDU 1452 Happy 2004 数论
    HDU 5778 abs 数论
    欧拉回路【判断连通+度数为偶】
  • 原文地址:https://www.cnblogs.com/Liu-Hui/p/13258380.html
Copyright © 2011-2022 走看看