精华内容
下载资源
问答
  • 如HTTP是计算机用来通过因特网发送网页的协议一样,SMTP(简单邮件传输协议)是用于发送电子邮件的协议。SMTP规定电子邮件应该如何格式化、加密、在邮件服务器之间传递。python的smtplib模块将它们简化成了几个函数...

    感谢简书上一位大佬的笔记,忘记是谁了,不好意思~此文仅作为笔记使用,若侵请联系删除。

    如HTTP是计算机用来通过因特网发送网页的协议一样,SMTP(简单邮件传输协议)是用于发送电子邮件的协议。SMTP规定电子邮件应该如何格式化、加密、在邮件服务器之间传递。python的smtplib模块将它们简化成了几个函数。

    smtplib主要方法:

    1、实例化一个SMTP对象:

    s=smtplib.SMTP(邮件服务地址如'smtp@163.com',端口号如'465')

    s=smtplib.SMTP_SSL(邮件服务地址如'smtp@163.com',端口号如'465')#SSL加密

    2、登陆邮件,权限验证:

    s.login(用户名如'sx_199610@163.com',密码)

    3、发送邮件:

    s.sendmail(发件人邮箱,收件人邮箱,发送内容)

    4、断开连接

    s.quit()

    Email模块:

    email支持发送的邮件内容为纯文本、HTML内容、图片、附件。email中有几大类泪针对不同的邮件内容形式,常用如下:

    MIMEText:(MIME媒体类型)内容形式为纯文本、HTML页面。

    MIMEimage:内容形式为图片。

    MIMEMultupart:多形式组合,可包含文本和附件。

    代码如下:

    from email.mime.text import MIMEText

    import smtplib

    from email.header import Header

    from email.utils import parseaddr,formataddr#设置编码格式

    from email.mime.base import MIMEBase

    from email.mime.multipart import MIMEMultipart

    from email import encoders

    #将用户名编码设置成UTF-8

    def _format_addr(s):

    name,addr=parseaddr(s)

    return formataddr((Header(name, 'utf-8').encode(),addr))

    #定义email的地址,口令和SMTP服务器地址

    from_addr='sx_199610@163.com'

    password=input('请输入发送邮箱的密码:') #注意此处输入的密码是自己设置的协议密码

    to_addr='sx_wy123@163.com'

    smtp_server='smtp.163.com'

    #定义邮件本身内容

    msg=MIMEMultipart()

    msg['From']=_format_addr('发送者的ReedSun<%s>'%from_addr)

    msg['To']=_format_addr('接收者的ReedSun<%s>'%to_addr)

    msg['Subject']=Header('hhh,这是二封测试信','utf-8').encode()

    #定义邮件正文

    msg.attach(MIMEText('使用python发来的邮件3','plain','utf-8'))

    #加附件

    with open(r'C:\Users\Administrator\Desktop\test\test0.jpg','rb') as f:

    # 设置附件的MIME和文件名,这里是jpg类型,可以换png或其他类型:

    mime=MIMEBase('image','jpg',filename='test0.jpg')

    mime.add_header('Content-Disposition','attchment',filename='test0.jpg')

    mime.add_header('Content-ID','<0>')

    mime.add_header('X-Attachment-ID','0')

    mime.set_payload(f.read())

    encoders.encode_base64(mime)

    msg.attach(mime)

    #定义发送文件

    server=smtplib.SMTP_SSL(smtp_server,465)

    server.set_debuglevel(1)

    server.login(from_addr,password)

    server.sendmail(from_addr,[to_addr],msg.as_string())

    server.quit()

    展开全文
  • How do i add a document attachment when sending an email with python ?i get the email to send(please ignore: i am looping the email to send every 5 seconds, only for testing purposes, i want it to sen...

    How do i add a document attachment when sending an email with python ?

    i get the email to send

    (please ignore: i am looping the email to send every 5 seconds, only for testing purposes, i want it to send every 30 min, just have to change 5 to 1800)

    here is my code so far. how do i attach a document from my computer?

    #!/usr/bin/python

    import time

    import smtplib

    while True:

    TO = 'xxxx@gmail.com'

    SUBJECT = 'Python Email'

    TEXT = 'Here is the message'

    gmail_sender = 'xxxx@gmail.com'

    gmail_passwd = 'xxxx'

    server = smtplib.SMTP('smtp.gmail.com',587)

    server.ehlo()

    server.starttls()

    server.ehlo()

    server.login(gmail_sender, gmail_passwd)

    BODY = '\n'.join([

    'To: %s' % TO,

    'From: %s' % gmail_sender,

    'Subject:%s' % SUBJECT,

    '',

    TEXT

    ])

    try:

    server.sendmail(gmail_sender,[TO], BODY)

    print 'email sent'

    except:

    print 'error sending mail'

    time.sleep(5)

    server.quit()

    解决方案

    This is the code that worked for me- to send an email with an attachment in python

    #!/usr/bin/python

    import smtplib,ssl

    from email.mime.multipart import MIMEMultipart

    from email.mime.base import MIMEBase

    from email.mime.text import MIMEText

    from email.utils import formatdate

    from email import encoders

    def send_mail(send_from,send_to,subject,text,files,server,port,username='',password='',isTls=True):

    msg = MIMEMultipart()

    msg['From'] = send_from

    msg['To'] = send_to

    msg['Date'] = formatdate(localtime = True)

    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    part = MIMEBase('application', "octet-stream")

    part.set_payload(open("WorkBook3.xlsx", "rb").read())

    encoders.encode_base64(part)

    part.add_header('Content-Disposition', 'attachment; filename="WorkBook3.xlsx"')

    msg.attach(part)

    #context = ssl.SSLContext(ssl.PROTOCOL_SSLv3)

    #SSL connection only working on Python 3+

    smtp = smtplib.SMTP(server, port)

    if isTls:

    smtp.starttls()

    smtp.login(username,password)

    smtp.sendmail(send_from, send_to, msg.as_string())

    smtp.quit()

    展开全文
  • How do i add a document attachment when sending an email with python ?i get the email to send(please ignore: i am looping the email to send every 5 seconds, only for testing purposes, i want it to sen...

    1586010002-jmsa.png

    How do i add a document attachment when sending an email with python ?

    i get the email to send

    (please ignore: i am looping the email to send every 5 seconds, only for testing purposes, i want it to send every 30 min, just have to change 5 to 1800)

    here is my code so far. how do i attach a document from my computer?

    #!/usr/bin/python

    import time

    import smtplib

    while True:

    TO = 'xxxx@gmail.com'

    SUBJECT = 'Python Email'

    TEXT = 'Here is the message'

    gmail_sender = 'xxxx@gmail.com'

    gmail_passwd = 'xxxx'

    server = smtplib.SMTP('smtp.gmail.com',587)

    server.ehlo()

    server.starttls()

    server.ehlo()

    server.login(gmail_sender, gmail_passwd)

    BODY = '\n'.join([

    'To: %s' % TO,

    'From: %s' % gmail_sender,

    'Subject:%s' % SUBJECT,

    '',

    TEXT

    ])

    try:

    server.sendmail(gmail_sender,[TO], BODY)

    print 'email sent'

    except:

    print 'error sending mail'

    time.sleep(5)

    server.quit()

    解决方案

    This is the code that worked for me- to send an email with an attachment in python

    #!/usr/bin/python

    import smtplib,ssl

    from email.mime.multipart import MIMEMultipart

    from email.mime.base import MIMEBase

    from email.mime.text import MIMEText

    from email.utils import formatdate

    from email import encoders

    def send_mail(send_from,send_to,subject,text,files,server,port,username='',password='',isTls=True):

    msg = MIMEMultipart()

    msg['From'] = send_from

    msg['To'] = send_to

    msg['Date'] = formatdate(localtime = True)

    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    part = MIMEBase('application', "octet-stream")

    part.set_payload(open("WorkBook3.xlsx", "rb").read())

    encoders.encode_base64(part)

    part.add_header('Content-Disposition', 'attachment; filename="WorkBook3.xlsx"')

    msg.attach(part)

    #context = ssl.SSLContext(ssl.PROTOCOL_SSLv3)

    #SSL connection only working on Python 3+

    smtp = smtplib.SMTP(server, port)

    if isTls:

    smtp.starttls()

    smtp.login(username,password)

    smtp.sendmail(send_from, send_to, msg.as_string())

    smtp.quit()

    展开全文
  • 发送邮件的时候,需要发送人,收件人,和一台邮件服务器,这里使用python发送一个邮件,主要需要引入smtplib和email库。下面是源码,粘贴即可用:#!/usr/bin/env python3# coding: utf-8import smtplibimport time...

    发送邮件的时候,需要发送人,收件人,和一台邮件服务器,这里使用python发送一个邮件,主要需要引入smtplib和email库。

    下面是源码,粘贴即可用:

    #!/usr/bin/env python3

    # coding: utf-8

    import smtplib

    import time

    import sys

    from email.mime.text import MIMEText

    from email.mime.multipart import MIMEMultipart

    # 发送邮件

    def SendMail(mail_list, subject, content):

    from_mail = '这里填入发件人邮箱'

    temp_msg = '武松申请了车费报销'

    msg = MIMEText('

    ' + temp_msg + '

    同意, 不同意
    ', 'html','utf-8')

    msg['Subject'] = subject

    msg['From'] = from_mail

    msg['To'] = mail_list

    msg['date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z')

    smtp_server = '这里填入邮件服务器的地址'

    s = smtplib.SMTP(smtp_server)

    s.login("填入登录邮件服务器的邮箱", "填入邮箱密码")

    s.sendmail(from_mail, mail_list.split(","), msg.as_string())

    s.quit()

    # 发送邮件带附件

    def SendMailWithAttachment(mail_list, subject, content, attachment):

    from_mail = '这里填入发件人邮箱'

    msg = MIMEMultipart()

    msg['Subject'] = subject

    msg['From'] = from_mail

    msg['To'] = mail_list

    msg['date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z')

    msg.attach(MIMEText(content, 'html', 'utf-8'))

    att = MIMEText(open(attachment, 'rb').read(), 'base64', 'utf8')

    att["Content-Type"] = 'application/octet-stream'

    att["Content-Disposition"] = 'attachment; filename="%s"' % attachment

    msg.attach(att)

    smtp_server = '这里填入邮件服务器的地址'

    s = smtplib.SMTP(smtp_server)

    s.login("填入登录邮件服务器的邮箱", "填入邮箱密码")

    s.sendmail(from_mail, mail_list.split(","), msg.as_string())

    s.quit()

    if __name__ == '__main__':

    if len(sys.argv) < 4:

    print('Usage:', sys.argv[0], ' mail_list subject content [attachment]')

    sys.exit(1)

    content = ""

    if len(sys.argv) == 4:

    SendMail(sys.argv[1], sys.argv[2], content)

    else:

    SendMailWithAttachment(sys.argv[1], sys.argv[2], content, sys.argv[4])

    你需要修改的地方是:

    from_mail:发件人信息

    temp_msg:发送的内容

    smtp_server:邮件服务器地址

    s.login:邮件服务器登录名和密码

    命令行发送:

    python3 sendmail.py '772654204@qq.com' 'python send mail' 'leran is fun'

    显示效果:

    watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

    展开全文
  • 1. python发送邮件POP3# coding: utf-8from email.mime.application import MIMEApplicationfrom email.mime.multipart import MIMEMultipartimport smtplibfrom email.mime.text import MIMETextimport pathlibdef ...
  • file): ''' 发送附件邮件 :param title: 邮件标题 :param text: 邮件正文 :param send: 发送者邮箱 :param passwd: 授权码 :param to: 接收者邮箱 :param smtp_server: 发送邮件的服务器 :param file: 需要发送...
  • python邮件发送附件

    2016-03-16 22:12:03
    smtplib模块负责连接服务器和发送邮件 MIMEImage类:定义邮件的图片数据 MIMEText:HTML格式的邮件,定义Content-Disposition属性可以实现带附件 MIMEMultipart:负责将文字图片音频组装在一起和添加附件#coding:...
  • import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.header import Header"""1》测试邮件发送,带附件2》有收件人、发件人、主题、邮件内容"""sender = ...
  • 使用python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。在python中,MIME的这些对象的继承关系如下。MIMEBase|-- MIMENonMultipart|-- MIMEApplication|-- MIMEAudio|-- MIMEImage...
  • 最近经常需要出一些临时性的报表,于是就用python 的smtplib 和email 两模块写了个小程序,当数据处理完后通过邮箱把报表文件从服务器上发送出来!程序名称:sendMail_func.py#!/usr/bin/env python# -*- coding:utf...
  • 主要为大家详细介绍了python实现发送邮件附件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python邮件附件方法

    2020-04-21 21:18:34
    python email模块发送office附件. 本文编写了python 邮件附件方法。代码解释。
  • Python 简单发送邮件 / 发送带各种附件邮件

    万次阅读 多人点赞 2018-06-04 13:55:05
    写个自动发送邮件python脚本。 用脚本发送邮件思路是:登陆邮箱-->写邮件-->发送邮件 发送邮箱设置: 得开通自己邮箱的 SMTP 功能,具体可百度。 以163网易邮箱为例: 设置 --> POP3/SMTP/IMAP --&...
  • 一、设置开启SMTP服务并获取授权码二、使用Python3 发送附件邮件0.使用的环境为:Python 3.6.3 (64bit)PyCharm 2017.3 (64bit)1.注意事项:在调用smtplib,发送简单邮件的时候使用smtplib.SMTP()方法使没有问题...
  • 我们可以通过Python的smtplib模块轻松的实现发送电子邮件。smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])SMTP类构造函数,表示与SMTP服务器之间的连接,通过这个连接我们可以向SMTP服务器发送指令,...
  • python 发送邮件可以发送 附件
  • python发送附件邮件代码,大家可以看看哟。亲测无问题。
  • print(response.status_code) print(response.body) print(response.headers) But the Sendgrid Python library is throwing an error HTTP Error 400: Bad Request. What is wrong with my code ? 解决方案 I found...
  • /usr/bin/env python#coding: utf-8 by guozheng_li#该脚本加入了文本、图片以及附件功能,日常运维跑的脚本基本也就这三样够用了。可以发送给多人,只要添加相应的mailto_list即可,再加入该说明前验证是正常的...
  • 主要为大家详细介绍了python smtplib发送附件邮件小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python邮件发送

    2021-08-05 20:51:11
    python邮件发送 1. 邮件自动发送基本流程 第一步: 1.1 连接邮箱服务器 smtplib.SMTP_SSL(服务器地址,邮箱服务端口) - 连接服务器并且返回一个连接对象 1.2 登录邮箱 - 连接对象 第二步:准备邮件 1.3 设置邮件主题...
  • Python 邮件发送之嵌套图片&发送附件

    千次阅读 2020-01-17 15:33:43
    4.发送各种文档和图片,html样式 1. SMTP 介绍 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议。 SMTP 是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。SMTP 是建立在 TCP上的一种邮件...
  • 大多数的邮件发送服务器 (Outgoing Mail Server) 都是使用SMTP协议。SMTP协议的默认TCP端口号是25。 SMTP协议的一个重要特点是它能够接力传送邮件。它工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某...
  • Python 发送邮件附件

    2015-08-24 14:07:49
    import smtplib from os.path import basename from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart ...from email.mime.text import MIMEText ...
  • python 邮件发送

    2020-10-26 17:33:56
    python 邮件发送 import smtplib import time from email.header import Header from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from email.mime.text import...
  • 使用Python邮件发送

    2021-08-11 19:44:02
    使用Python邮件发送 可以参考以下连接进行学习 python邮件发送学习参考连接 首先要获取授权码 如下 import smtplib from email.header import Header from email.mime.multipart import MIMEMultipart from ...
  • 最近迁移了wordpress,系统升级为CentOS 6,很奇怪的一个问题,在原来CentOS 5.8下用的很正常的定时备份数据库并通过邮件发送的脚本不能发送附件,其他都正常,邮件内容也是uuencode生成的文件编码,但是就是不产生附件....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,915
精华内容 3,566
关键字:

python邮件发送附件

python 订阅