精华内容
下载资源
问答
  • import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.header import Header"""1》测试邮件发送带附件2》有收件人、件人、主题、邮件内容"""sender = ...

    import smtplib

    from email.mime.multipart import MIMEMultipart

    from email.mime.text import MIMEText

    from email.header import Header

    """

    1》测试邮件发送,带附件

    2》有收件人、发件人、主题、邮件内容

    """

    sender = 'xx@qq.com'

    receivers = ['xx@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

    stmp_pwd = 'xx'

    stmp_server = 'smtp.qq.com'

    stmp_port = 25

    message = MIMEMultipart()

    message['From'] = sender

    message['To'] = ';'.join(receivers)

    message['Subject'] = Header('豆瓣动画电影推荐', 'utf-8')

    #邮件内容

    message.attach(MIMEText('豆瓣动画电影推荐', 'plain', 'utf-8'))

    #附件

    att2 = MIMEText(open('豆瓣动画电影1543993335.5267258.xls', 'rb').read(), 'base64', 'utf-8')

    att2["Content-Type"] = 'text/plain'

    att2["Content-Disposition"] = 'attachment; filename="dianyingtuijian.xls"'

    message.attach(att2)

    smtpObj = smtplib.SMTP(stmp_server, stmp_port)

    # smtpObj.set_debuglevel(1)

    smtpObj.starttls()

    smtpObj.login(sender, stmp_pwd)

    smtpObj.sendmail(sender, receivers, message.as_string())

    smtpObj.quit()

    print('success')

    展开全文
  • 使用python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。在python中,MIME的这些对象的继承关系如下。MIMEBase|-- MIMENonMultipart|-- MIMEApplication|-- MIMEAudio|-- MIMEImage...

    使用

    python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

    在python中,MIME的这些对象的继承关系如下。

    MIMEBase

    |-- MIMENonMultipart

    |-- MIMEApplication

    |-- MIMEAudio

    |-- MIMEImage

    |-- MIMEMessage

    |-- MIMEText

    |-- MIMEMultipart

    一般来说,不会用到MIMEBase,而是直接使用它的继承类。MIMEMultipart有attach方法,而MIMENonMultipart没有,只能被attach。

    MIME有很多种类型,这个略麻烦,如果附件是图片格式,我要用MIMEImage,如果是音频,要用MIMEAudio,如果是word、excel,我都不知道该用哪种MIME类型了,得上google去查。

    最懒的方法就是,不管什么类型的附件,都用MIMEApplication,MIMEApplication默认子类型是application/octet-stream。

    以上内容出自原文,下方带有链接。

    特别说明

    想通过QQ邮箱来发送邮件,需开启QQ邮箱的设置-账户里POP3/SMTP服务,通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了。

    b3d78cf16772

    开启pop/smtp

    b3d78cf16772

    授权码

    测试代码

    #!/usr/bin/python

    #!/usr/bin/python

    # _*_ coding: utf-8 _*_

    import os

    import smtplib

    from email.mime.text import MIMEText

    from email.utils import formataddr

    from email.header import Header

    '''

    函数说明:Send_email_text() 函数实现发送带有附件的邮件,可以群发,附件格式包括:xlsx,pdf,txt,jpg,png,mp3等都可以

    参数说明:

    1. subject:邮件主题

    2. content:邮件正文

    3. filepath:附件的地址, 输入格式为["","",...]

    4. receive_email:收件人地址, 输入格式为["","",...]

    '''

    def Send_email_text(subject,content,filepath,receive_email):

    import smtplib

    from email.mime.multipart import MIMEMultipart

    from email.mime.text import MIMEText

    from email.mime.application import MIMEApplication

    sender = 'xxx@qq.com'             #发送方邮箱

    passwd = 'gmdfztzbinlvbiei'         #填入发送方邮箱的授权码

    receivers = receive_email            #收件人邮箱

    msgRoot = MIMEMultipart()

    msgRoot['Subject'] = subject

    msgRoot['From'] = sender

    if len(receivers)>1:

    msgRoot['To'] = ','.join(receivers)    #群发邮件

    else:

    msgRoot['To'] = receivers[0]

    part = MIMEText(content,_charset="utf-8")

    msgRoot.attach(part)

    ##添加附件部分

    for path in filepath:

    part = MIMEApplication(open(path,'rb').read())

    part.add_header('Content-Disposition', 'attachment', filename=path)

    msgRoot.attach(part)

    try:

    #s = smtplib.SMTP()

    #s.connect("smtp.mail.aliyun.com") #这里我使用的是阿里云邮箱,也可以使用163邮箱:smtp.163.com

    s = smtplib.SMTP_SSL('smtp.qq.com',465)    #邮件服务器及端口号,qq邮箱

    s.login(sender, passwd)

    s.sendmail(sender, receivers, msgRoot.as_string())

    print ("邮件发送成功")

    except smtplib.SMTPException as e:

    print("Error, 发送失败")

    finally:

    s.quit()

    subject = "文件测试"

    content = "Python 邮件测试"

    #file_path = ["smtp.py","smtp_attach.py","smtpatt.py"]                  #发送三个文件到三个邮箱

    file_path = os.listdir('./')

    files.remove('smtp_attach.py')

    receive_email = ["xxx@yamu.com","xxx@qq.com","xxx@qq.com"]

    Send_email_text(subject,content,file_path,receive_email)

    测试结果

    b3d78cf16772

    相关参考

    展开全文
  • 1. python发送邮件POP3# coding: utf-8from email.mime.application import MIMEApplicationfrom email.mime.multipart import MIMEMultipartimport smtplibfrom email.mime.text import MIMETextimport pathlibdef ...

    1. python发送邮件POP3

    # coding: utf-8

    from email.mime.application import MIMEApplication

    from email.mime.multipart import MIMEMultipart

    import smtplib

    from email.mime.text import MIMEText

    import pathlib

    def send_mail(username, passwd, recv, title, content, mail_host='smtp.163.com', port=25, file=None):

    '''

    发送邮件函数,默认使用163smtp

    :param username: 邮箱账号 xx@163.com

    :param passwd: 邮箱密码

    :param recv: 邮箱接收人地址,多个账号以逗号隔开

    :param title: 邮件标题

    :param content: 邮件内容

    :param mail_host: 邮箱服务器

    :param port: 端口号

    :return:

    '''

    if file:

    msg = MIMEMultipart()

    # 构建正文

    part_text = MIMEText(content)

    msg.attach(part_text) # 把正文加到邮件体里面去

    # 构建邮件附件

    part_attach1 = MIMEApplication(open(file, 'rb').read()) # 打开附件

    part_attach1.add_header('Content-Disposition', 'attachment', filename =pathlib.Path(file).name) # 为附件命名

    msg.attach(part_attach1) # 添加附件

    else:

    msg = MIMEText(content) # 邮件内容

    msg['Subject'] = title # 邮件主题

    msg['From'] = username # 发送者账号

    msg['To'] = recv # 接收者账号列表

    smtp = smtplib.SMTP(mail_host, port=port)

    smtp.login(username, passwd) # 登录

    smtp.sendmail(username, recv, msg.as_string())

    smtp.quit()

    send_address="发件人@163.com"

    send_password=input('请输入密码:')

    receive_address="收件人@163.com"

    title="标题"

    content="Hi,你好!这封邮件是python发送的"

    attachfilepath="d:\\test.xlsx"

    send_mail(send_address, send_password, receive_address, title,content ,file=attachfilepath)

    print('success')

    2. python发送邮件Exchange

    from exchangelib import DELEGATE, Account, Credentials, Message, Mailbox, HTMLBody,FileAttachment

    import pathlib

    send_password=input('请输入密码') # input 手动输入

    send_user='公司邮箱域.cic.cn\个人用户名' # 公司邮箱域/用户名(不带后面@)

    # send_address :发送方地址

    # receive_address :发送方地址

    # subject :主题

    # body :正文

    # attachPath :附件路径

    def Email(send_address,receive_address, subject, body,attachPath=None):

    creds = Credentials(send_user, send_password)

    account = Account(send_address, credentials=creds, autodiscover=True)

    m = Message(

    account=account,

    subject=subject,

    body=HTMLBody(body),

    to_recipients = [Mailbox(email_address=receive_address)]

    )

    #添加附件

    if attachPath:

    myfile = FileAttachment(name=pathlib.Path(attachPath).name, content=open(attachPath,'rb').read())

    m.attach(myfile)

    m.send()

    send_address="发件人@cic.cn"

    receive_address="收件人@163.com"

    title="标题"

    content="Hi,你好!这封邮件是python发送的"

    attachfilepath="d:\\test.xlsx"

    Email(send_address,receive_address, title, content,attachfilepath)

    print(receive_address+':'+'发送成功')

    未完待续...

    参考:站在巨人的肩上python发送带附件POP3:https://zhuanlan.zhihu.com/p/69817786​zhuanlan.zhihu.comzhihu-card-default_ipico.jpgpython发送 ExchangePython3.5 执行发邮件Exchangelib(=)​www.cnblogs.comCSDN-专业IT技术社区-登录​blog.csdn.net

    #字典初始化1

    emailDict={

    "key1":"value1",

    "key2":"value2"

    }

    #字典初始化2

    emailDict1={}

    emailDict1["key1"]="value1"

    #遍历key

    for key in emailDict1:

    print(key+':'+emailDict1[key])

    #遍历value

    for value in emailDict.values():

    print(value)

    #遍历key+value

    for (key,value) in emailDict.items():

    print(key+':'+value)

    展开全文
  • file): ''' 发送带附件邮件 :param title: 邮件标题 :param text: 邮件正文 :param send: 发送者邮箱 :param passwd: 授权码 :param to: 接收者邮箱 :param smtp_server: 发送邮件的服务器 :param file: 需要发送...

    import smtplib

    from email.mime.text import MIMEText

    from email.mime.multipart import MIMEMultipart

    from email.mime.application import MIMEApplication

    def sendEmail(title, text, send, to, passwd, smtp_server, file):

    '''

    发送带附件的邮件

    :param title: 邮件标题

    :param text: 邮件正文

    :param send: 发送者邮箱

    :param passwd: 授权码

    :param to: 接收者邮箱

    :param smtp_server: 发送邮件的服务器

    :param file: 需要发送的附件

    :return:

    '''

    msg = MIMEMultipart()

    msg['From'] = send

    msg['To'] = to

    #文字部分

    msg['Subject'] = title # 主题

    strstr=text #文字内容

    att = MIMEText(strstr,'plain','utf-8')

    msg.attach(att)

    #附件

    att = MIMEApplication(open(file,'rb').read()) #你要发送的附件地址

    att.add_header('Content-Disposition', 'attachment', filename=file) #filename可随意取名

    msg.attach(att)

    server = smtplib.SMTP()

    server.connect(smtp_server) #连接smtp邮件服务器

    server.login(send,passwd) #登录smtp邮件服务器

    server.sendmail(send, to, msg.as_string()) #发送

    server.close() #关闭

    if __name__ == '__main__':

    smtp_server = 'smtp.qq.com' # 使用QQ邮箱的SMTP服务器,可切换

    from_mail = '*****@qq.com'

    mail_pass = '*****'

    to_mail = '******@qq.com'

    title = 'test'

    text = 'send test'

    file = 'report_2020-04-08-11-02-30.html'

    sendEmail(title=title, text=text, send=from_mail, to=to_mail, passwd=mail_pass, smtp_server=smtp_server, file=file)

    展开全文
  • from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart ...#创建一个带附件的实例 msg = MIMEMultipart() #构造附件1 att1 = MIMEText(open('./jsondata.py', 'rb').read(), 'base...
  • python发送邮件带附件

    2019-09-21 11:54:29
    Exchange发送邮件 config.email_url :邮箱服务地址 config.email_user :账户 config.email_pas:密码 import config import os from exchangelib import DELEGATE, Account,Credentials,Configuration,NTLM,...
  • python 发送邮件带附件

    2019-10-03 04:50:02
    /usr/bin/python #-*-coding:utf-8-*- import sys import os import time import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart mail_host="...
  • if ret: print("ok") #如果发送成功则会返回ok,稍等20秒左右就可以收到邮件 else: print("filed") #如果发送失败则会返回filed"""#带附件邮件发送 _user= "件人邮箱账户"_pwd= "件人密码"_to= "收件人邮箱...
  • # coding:utf-8 # __author__ = 'Mark sinoberg' ...# __Desc__ = 实现发送带有各种附件类型的邮件 import urllib, urllib2 import smtplib from email.mime.multipart import MIMEMultipart fro...
  • /usr/bin/env python#coding: utf-8 by guozheng_li#该脚本加入了文本、图片以及附件功能,日常运维跑的脚本基本也就这三样够用了。可以发送给多人,只要添加相应的mailto_list即可,再加入该说明前验证是正常的...
  • 网上有很多python发送邮件的方法参考,但基本都无法防止乱码现象的发生,今天在写自动化脚本的时候遇到了这个问题,在此处记录一下,希望能对大家有所帮助! 乱码现象 首先我们来看我最开始写的python发送邮件的...
  • import smtplib # smtplib这个模块是管发邮件 from email.mime.text import MIMEText # 构造邮件内容 from email.mime.multipart import MIMEMultipart # 发带附件的邮件用的 class SendMai...
  •           构造邮件内容(件人、收件人、主题、正文、附件等) (2)email 模块下有 mime 包,mime 包下常用的有三个模块:(text、image、multipart)     ① MIMETex:(纯文本、HTML页面),参数...
  • 发送邮件的时候,需要发送人,收件人,和一台邮件服务器,这里使用python发送一个邮件,主要需要引入smtplib和email库。下面是源码,粘贴即可用:#!/usr/bin/env python3# coding: utf-8import smtplibimport time...
  • import smtplib # 导入邮件服务的模块smtplibfrom email.mime.text import MIMETextfrom email.header import Header # 前三行,写在函数之前def send_mail(message): #定...
  • 如HTTP是计算机用来通过因特网发送网页的协议一样,SMTP(简单邮件传输协议)是用于发送电子邮件的协议。SMTP规定电子邮件应该如何格式化、加密、在邮件服务器之间传递。python的smtplib模块将它们简化成了几个函数...
  •  1、使用Python发Text 邮件 import smtplib # 发送字符串的邮件 from email.mime.text import MIMEText # 设置服务器所需信息 fromEmailAddr = '件人邮箱地址' # 邮件发送方邮箱地址 password = 'email password...
  • 最近经常需要出一些临时性的报表,于是就用python 的smtplib 和email 两模块写了个小程序,当数据处理完后通过邮箱把报表文件从服务器上发送出来!程序名称:sendMail_func.py#!/usr/bin/env python# -*- coding:utf...
  • python发送邮件带多个附件代码

    千次阅读 2018-11-19 11:17:24
    python发送邮件带多个附件代码 import smtplib,os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders # 收...
  • message(msg=msg,from_addr='',to_addrs=['收件人一','收件人二']) # 多个收件人 到此这篇关于python实现发送带附件邮件代码分享的文章就介绍到这了,更多相关利用python实现发送带附件邮件内容请搜索脚本之家...
  • 主要为大家详细介绍了python smtplib发送带附件邮件小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 一、设置开启SMTP服务并获取授权码二、使用Python3 发送带附件邮件0.使用的环境为:Python 3.6.3 (64bit)PyCharm 2017.3 (64bit)1.注意事项:在调用smtplib,发送简单邮件的时候使用smtplib.SMTP()方法使没有问题...
  • 目标:设置邮件自动发送本文按照《对比Excel,轻松学习Python数据分析》中第14章自动发送电子邮件实例编写,试验成功,分享代码给大家 #!/usr/bin/env python# coding: utf-8# In[2]:import smtplibfrom email import...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,193
精华内容 3,677
关键字:

python发送邮件带附件

python 订阅