Python用20行代码实现完整邮件功能

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网
目录
  • Python实现完整邮件
    • 一、邮箱端设置
      • 1、首先登录网页版126邮箱
      • 2、打开 设置—POP3/SMTP/IMAP配置界面 
      • 3、新增一个授权码 
    • 二、python发送邮件
      • 1、安装邮件模块
      • 2、调用模块
      • 3、设置邮件内容
      • 4、添加附件
    • 三、python读取邮件

    Python实现完整邮件

    先上效果:

    一、邮箱端设置

    首先,要对邮件进行一下设置,在邮箱端获取一个授权码。

    1、首先登录网页版126邮箱

     

    2、打开 设置—POP3/SMTP/IMAP配置界面 

    3、新增一个授权码 

    二、python发送邮件

    1、安装邮件模块

    pip install py-emails

    2、调用模块

    引入邮箱模块,配置收件人、发件人、授权码等信息

    #引入smtplib模块
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.image import MIMEImage
     
    #配置邮箱信息
    sender = 'pacersby@126.com' #发件人的地址
    password = 'XXXXXXXXXXXX' #此处是我们刚刚在邮箱中获取的授权码
    receivers = ['wangsicong@126.com', '1029925144@qq.com'] #邮件接受方邮箱地址,可以配置多个,实现群发
    
    
    

    3、设置邮件内容

    #邮件内容设置
    message = MIMEText('你好呀,王思聪~~~','plain','utf-8')
    #邮件标题设置      
     
    message['Subject'] = '来自CSDN的问候' 
     
    #发件人信息
    message['From'] = sender
     
    #收件人信息     
    message['To'] = receivers[0]  
     
    #通过授权码,登录邮箱,并发送邮件
    try:
        server = smtplib.SMTP('smtp.126.com') #配置126邮箱的smtp服务器地址
        server.login(sender,password)
        server.sendmail(sender, receivers, message.as_string())
        print('发送成功')
        server.quit()
     
    except smtplib.SMTPException as e:
        print('error',e) 
    
    
    

    4、添加附件

    另外,我们发送邮件时,经常需要添加各式各样的附件。python同样可以实现。

    如下,我们可以通过代码添加图片、pdf、zip等等格式的附件。

    #添加图片附件
    imageFile = 'C:\\Users\\pacer\\Desktop\\img\\1.png'
    imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
    imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
     
    #添加pdf附件
    pdfFile = 'C:\\Users\\pacer\\Desktop\\img\\1.pdf'
    pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
    pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile)
     
    #添加压缩文件附件
    zipFile = 'C:\\Users\\pacer\\Desktop\\img\\1.zip'
    zipApart = MIMEApplication(open(zipFile, 'rb').read())
    zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile)
    
    

    三、python读取邮件

    通过我们设置的授权码,登录邮箱账号,获取该账号收到的邮件内容。

    首先安装zmail模块

    pip install zmail

    读取邮件

    server = zmail.server('pacersby@126.com','授权码')
    mail = server.get_latest()
    zmail.show(mail)
    
    
    

    获取邮件效果如下:

    -------------------------
    Subject  来自lex的python自动发送邮件
    Id  4
    From  
    
    pacersby@126.com
    
    To  None
    Date  2021-07-15 10:18:39+08:00
    Content_text  ['来自lex的python自动发送邮件']
    Content_html  []
    Attachments  
    1.Name:C:\\Users\\lex\\Desktop\\img\\1.jpg Size:205133 
    2.Name:C:\\Users\\lex\\Desktop\\img\\1.pdf Size:434938 
    3.Name:C:\\Users\\lex\\Desktop\\img\\1.zip Size:1201666
    

    以上就是Python用20行代码实现完整邮件功能 的详细内容,更多关于Python实现完整邮件的资料请关注hwidc其它相关文章!希望大家以后多多支持hwidc!

    【本文由:http://www.1234xp.com/ip.html 提供,感谢支持】