python发送smtp 邮件 图片

#-*- coding: utf-8 -*-
# python2
import os
import time
import random
import smtplib
from time import strftime
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase

img_list = os.listdir(‘/home/wy/Desktop/xx‘)
# img_list = os.listdir(‘/home/whucs/wangyong/xx‘)

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr((        Header(name, ‘utf-8‘).encode(),         addr.encode(‘utf-8‘) if isinstance(addr, unicode) else addr))

def SendSSLEmail(to_list):
    # from_addr = "[email protected]"        #发件人
    # pwd = "tvsbkyufaeyceaeb"                     #密码
    # to_addr = "@qq.com"          #收件人
    # smtp_server = "smtp.qq.com"

    from_addr = "xxxxxx@126.com"        #发件人
    pwd = "xxxxxxxxx"                     #密码
    # # to_addr = "@qq.com"         #收件人
    smtp_server = "smtp.126.com"

    msg = MIMEMultipart()
    msg[‘From‘] = _format_addr(u‘meizi.jiandan <%s>‘ % from_addr)
    # msg[‘To‘] = _format_addr(u‘doggy <%s>‘ % to_addr)
    msg[‘To‘] = ";".join(to_list)
    title = time.strftime("%Y-%m-%d",time.localtime()) + ‘ 煎蛋妹子图‘
    msg[‘Subject‘] = Header(title, ‘utf-8‘).encode()

    # msg.attach(MIMEText(‘手机常年静音,接电话全靠缘分‘, ‘html‘, ‘utf-8‘))

    for i in range(10):
        # 添加附件就是加上一个MIMEBase,从本地读取一个图片:
        img = random.choice(img_list)
        with open(‘xx/‘+img, ‘rb‘) as f:
            # 设置附件的MIME和文件名,这里是png类型:
            mime = MIMEBase(‘image‘, ‘jpg‘, filename=img)
            # 加上必要的头信息:
            mime.add_header(‘Content-Disposition‘, ‘attachment‘, filename=img)
            mime.add_header(‘Content-ID‘, ‘<0>‘)
            mime.add_header(‘X-Attachment-Id‘, ‘0‘)
            # 把附件的内容读进来:
            mime.set_payload(f.read())
            # 用Base64编码:
            encoders.encode_base64(mime)
            # 添加到MIMEMultipart:
            msg.attach(mime)
            # msg.attach(MIMEText(‘<html><body><h1>Hello</h1><p><img src="cid:‘ + str(i) + ‘"></p></body></html>‘, ‘html‘, ‘utf-8‘))

    server = smtplib.SMTP_SSL(smtp_server, 465)
    server.set_debuglevel(1)
    server.login(from_addr, pwd)
    server.sendmail(from_addr, to_list, msg.as_string()) # 一次可以发多人,list
    server.quit()

if __name__ == ‘__main__‘:
    mailto_list = ["[email protected]"]
    # mailto_list = ["[email protected]","[email protected]","[email protected]","[email protected]"]

    SendSSLEmail(mailto_list)
时间: 2024-10-19 19:12:39

python发送smtp 邮件 图片的相关文章

python 发送html邮件

简单的python发送html邮件代码,如下: #!/usr/bin/env python #-*- coding:utf-8 -*- import smtplib from email.header import Header from email.MIMEText import MIMEText from email.mime.multipart import MIMEMultipart ####################################################

Exchange 2013 PowerShell发送SMTP邮件

作为一个Exchange管理员,我们可能需要使用PowerShell脚本自动化的发送电子邮件.下面一起学习下如何使用PowerShell脚本在你的组织中发送SMTP电子邮件信息. 怎么做到这点呢? PowerShell V2以及后续版本都提供了核心命令可以通过SMTP发送电子邮件信息.使用下面的语法可以发送一份电子邮件信息: Send-MailMessage -To [email protected] ` -From [email protected] ` -Subject "Test E-ma

使用python发送QQ邮件

这里用到了Python的两个包来发送邮件: smtplib 和 email . Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”.使用的 MIMEText 对象,为底层的 MIME(Multipurpose Internet MailExtensions,多用途互联网邮件扩展类型)协议传输创建了一封空邮件,最后通过高层的SMTP 协议发送出去. MIMEText 对象 msg 包括收发邮箱地址.邮件正文和主题,Python 通过它就可以创建一封格式正

python 发送qq邮件

# coding=utf-8import smtplibfrom email.mime.text import MIMETextimport email def sen(file_new): msg_from = '[email protected]' # 发送方邮箱 passwd = 'xthwzlXXX' # 填入发送方邮箱的授权码 msg_to = '[email protected]' # 收件人邮箱 subject = "python邮件测试" # 主题 content =

【python】smtp邮件发送

纯文本: #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtp.163.com' username = '***' password = '***'

python发送各类邮件的主要方法

python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点.     一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍:    1.smtplib模块 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])   SMTP类构造函数,表示与SMTP服务器之间的连接,通过这个连接可以向smtp服务器发送指令,执

python 发送安全邮件

用python 写了一个发送邮件的脚本,配上host 和端口,发现一直报错: smtplib.SMTPException: No suitable authentication method found. 回头又看了下发送邮件服务器的配置说明,发现发送邮件服务器用的加密协议是:STARTTLS(即所谓的安全邮件),而smtplib支持ttls需要添加一行命令, 为了验证是否是此问题导致,将邮件设置为了调式模式,发现返回结果里确实有如下信息:reply: '250-STARTTLS\r\n',于是

python发送网易邮件

无附件 from smtplib import SMTP from email.header import Header from email.mime.text import MIMEText def main(): sender = '1355***[email protected]' receivers = '1047**[email protected]' message = MIMEText('用python发送邮件的实例代码','plain','utf-8') message['Su

python发送文本邮件

1 #!/usr/bin/env python 2 #coding=utf-8 3 #Author: Ca0Gu0 4 import time 5 import smtplib 6 from email.mime.text import MIMEText 7 8 class MailCli(object): 9 def __init__(self): 10 self.s = smtplib.SMTP() #类实例化 11 12 def connect(self, host=None, port=