• python之路:发附带文件的邮件


    发邮件的思路(借用第三方服务):

    1、模拟服务器其中有:服务器地址,发送者地址、发送者的密码

    2、创建一个带附件的实例:1、创建一个massage 2、massage包括发送者的地址、接受者的地址、标题

    3、对正文转化为文本模式,MIMEText函数,它的参数有:邮件的内容或文件(文档、视频、图片这一些你都要读取文件才能发送)名)、邮件的格式、utf-8

    4、添加正文:用attach函数,可以运用多个attach函数传递文件

    5、发邮件:进入服务端(登录)login登录函数、发送sendmail发送),需要的参数有:发送的地址、接收者、message.as_string()

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

     

    #模拟服务器
    #SMTP服务器
    SMTPServer="smtp.163.com"
    #发邮件的地址
    Sender="xxxx@163.com"
    #发送者邮件的授权密码
    passwd="xxxxx"  

    # 创建一个带附件的实例
    message = MIMEMultipart()
    message['From'] = Sender

    message['To'] = "xxxx@qq.com"
    subject = 'Python SMTP 邮件测试'
    message['Subject'] = subject
    # 邮件正文内容
    message.attach(MIMEText('这是菜鸟教程Python 邮件发送测试……', 'plain', 'utf-8'))

    # 构造附件1

    att1 = MIMEText(open('文件名', 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
    att1["Content-Disposition"] = 'attachment; filename="文件名"'
    message.attach(att1)

    # 构造附件2

    att2 = MIMEText(open('文件名', 'rb').read(), 'base64', 'utf-8')
    att2["Content-Type"] = 'application/octet-stream'
    att2["Content-Disposition"] = 'attachment; filename="文件名"'
    message.attach(att2)

    try:
           mailServer = smtplib.SMTP(SMTPServer, 25)  # 25为端口号(邮件),0-1024都被系统占用了
        # 登录邮箱
        mailServer.login(Sender, passwd)  # 需要的是,邮箱的地址和授权密码
        # 发送文件
        mailServer.sendmail(Sender, ["xxxx@qq.com"], message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")

  • 相关阅读:
    CSS3 非线性时间函数应用
    CSS3 animation动画与transition过渡比较
    JS 数组高阶函数 map、reduce、filter、sort等
    访问控制列表-ACL匹配规则
    C 函数——Day04
    让你的wordpress在新窗口打开链接
    EFI、UEFI、MBR、GPT的区别
    C 输入 & 输出——Day03
    C 数据类型——Day02
    博客园代码高亮
  • 原文地址:https://www.cnblogs.com/MyUniverse/p/9362574.html
Copyright © 2020-2023  润新知