精华内容
下载资源
问答
  • 主要为大家详细介绍了python实现邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Python实现邮件发送

    千次阅读 2017-02-04 11:48:22
    前言:找回密码时,需要后台给用户发送验证信息,本篇实现一个基于python的自动发邮件程序。需要使用的库 :smtplib SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送...


    前言:

    找回密码时,需要后台给用户发送验证信息,本篇实现一个基于python的自动发邮件程序。

    需要使用的库 :smtplib
    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

    代码如下

    #coding:utf-8  
    import smtplib 
    #from email.mime.text import MIMEText
    from email.MIMEText import MIMEText
    from email.utils import formataddr
    
    
    
    def mail(my_user,repwd):
      ret=True
      my_sender='xxx@163.com'           #发件人邮箱,需开启smtp服务
      pwd='密码'                         #如是网易,此为客户端授权码
    
      try:
        str_text='重置的密码: '+repwd     #邮件内容
        msg=MIMEText(str_text,'plain','utf-8')
        msg['From']=my_sender 
        msg['To']=my_user 
        msg['Subject']="官方通知"         #邮件主题
    
        server=smtplib.SMTP("smtp.163.com",25)     
        server.login(my_sender,pwd)           
        server.sendmail(my_sender,my_user,msg.as_string()) 
        server.quit()  
      except Exception: 
        ret=False
      return ret
    
    
    
    my_user='yyy@qq.com'        #收件人邮箱
    repwd='aaaaa'               #重置的密码
    
    ret=mail(my_user,repwd)
    if ret:
      print("Success") 
    else:
      print("Filed")
    
    

    注意事项:

    1、

    smtplib.SMTPAuthenticationError: (535, ‘Authentication failed’)

    需要‘发送邮箱’开启smtp协议,去邮箱设置,建议使用163测试,设置完成后还要获取 客户端授权码,程序是客户端登陆,要用此密码,稍微麻烦点,但对比qq邮箱开启smtp服务分分钟让我想注销账户的体验,163还是省事很多。

    2、

    No module named

    这种错误查一查,python版本不一样,叫法会有区别,可以启动解释器,import 模块后 dir(模块)检查

    3、Python已经封装了email模块,注意自己程序的名字不要叫 email.py



    展开全文
  • python实现邮件发送

    2015-02-10 11:23:25
    嘿嘿,看了java mail实现邮件发送,虽然有会用了但是有两个小小的问题还不清楚。 尝试用python实现一下邮件发现。 首先看到的是这篇文章。http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343463.html ...


    嘿嘿,看了java mail实现邮件发送,虽然有会用了但是有两个小小的问题还不清楚。

    尝试用python实现一下邮件发现。

    首先看到的是这篇文章。http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343463.html

    就是简单发送的代码。试了一下果然可以。呼呼~~~


    然后具体看一下这个模块的使用方法:

    http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html


    简单的text文件这样就可以:

    #encoding: utf-8
    
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    sender = '*********@163.com'
    receiver = '********@qq.com'
    subject = 'Test-Python-Mail'
    smtpserver = 'smtp.163.com'
    username = '*****@163.com'
    password = '********'
    content = 'This email is sended to validate the python main kit.just for fun test,3Q for your cooperation!'
    
    msg = MIMEText(content,'text','utf-8')
    msg['Subject'] = Header(subject,'utf-8')
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username,password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()
    print 'your email send done!'



    展开全文
  • 使用python的第三方库yagmail仅仅几行代码实现邮件发送的功能,和大家分享一下实现过程。 yagmail官网文档:https://yagmail.readthedocs.io/en/latest/index.html 第一步:申请一个邮箱作为发送邮箱 此处以...

    前言

            使用python的第三方库 yagmail 仅仅几行代码实现了邮件发送的功能,和大家分享一下实现过程。

    yagmail官网文档:https://yagmail.readthedocs.io/en/latest/index.html

    第一步:申请一个邮箱作为发送邮箱

    此处以网易邮箱为例,因为使用python代码实现邮件的发送,需要开启邮箱的授权密码功能,用生成的授权密码作为发送邮件的密码,以下步骤为开启网易邮箱的授权密码功能。
    图片

    图片
    图片
    图片

    第二步:安装yagmail库

    pip install yagmail

    第三步:代码实现

    代码中password的值不是邮箱登录的密码,而是第一步中获得的授权密码(用于第三方登录使用的密码)

    import yagmail
    # 发送方邮箱信息
    data={
    'user':'*cainiaoadu@163.com',    # 邮箱账号
    'password':'GRHY******IGRXRM',   # 邮箱授权密码(不同于邮箱密码)
    'host':'smtp.163.com'            # SMTP服务器
    }
    try:
       yag=yagmail.SMTP(user=data['user'],password=data['password'],host=data['host'])
       contents='这是一个测试邮件的邮件内容'   # 邮件内容
       yag.send(to='目标邮箱地址',subject='邮件主题',contents=contents)
       yag.close()
       print('发送邮件成功')
    except:
        print('发送邮件失败')

    第四步:执行代码

    python3 myEamil.py

    第五步:成功效果图

    图片

     

     

    关注微信公众号:菜鸟阿都,更多精彩内容等着你

    展开全文
  • 使用Python实现邮件发送

    千次阅读 2017-04-20 22:02:00
    如果实现一个服务器的状态通知,可以选择...写了一个简单的小例子实现Python邮件发送功能如下:  1 #!/usr/bin/python  2 # -*- coding: cp936 -*-  3   4 import os, smtplib, mimetypes  5 from ema

    如果实现一个服务器的状态通知,可以选择通过邮件提醒的方式实现。Python自带的模块库中有支持smtp协议邮件发送的功能。

    写了一个简单的小例子实现Python的邮件发送功能如下:

      1 #!/usr/bin/python  

      2 # -*- coding: cp936 -*-

      3 

      4 import os, smtplib, mimetypes

      5 from email.mime.text import MIMEText

      6 from email.mime.image import MIMEImage

      7 from email.mime.multipart import MIMEMultipart

      8 

      9 mail_list = ["XXX@cqu.edu.cn"]

     10 mail_host = "smtp.126.com"

     11 mail_user = "XXXX"

     12 mail_psswd = "XXXX"

     13 mail_psotfix = "126.com"

     14 mail_from = mail_user + "<"+mail_user + "@" + mail_psotfix + ">"

     15 

     16 def send_mail(subject, content, filename = None):

     17     try:

     18         message = MIMEMultipart()

     19         message.attach(MIMEText(content))

     20         message["Subject"] = subject

     21         message["From"] = mail_from

     22         message["To"] = ";".join(mail_list)

     23         if filename != None and os.path.exists(filename):

     24             ctype, encoding = mimetypes.guess_type(filename)

     25             if ctype is None or encoding is not None:

     26                 ctype = "application/octet-stream"

     27             maintype, subtype = ctype.split("/", 1)

     28             attachment = MIMEImage((lambda f: (f.read(), f.close()))(open(filename, "rb"))[0], _subtype = subtype)

     29             attachment.add_header("Content-Disposition", "attachment", filename = filename)

     30             message.attach(attachment)

     31 

     32         smtp = smtplib.SMTP()

     33         smtp.connect(mail_host)

     34         smtp.login(mail_user, mail_psswd)

     35         smtp.sendmail(mail_from, mail_list, message.as_string())

     36         smtp.quit()

     37 

     38         return True

     39     except Exception, errmsg:

     40         print "Send mail failed to: %s" % errmsg

     41         return False

     42 

     43 if __name__ == "__main__":

     44     if send_mail("python email title", "send from python", r"筷子兄弟 - 父亲.mp3"):

     45         print "send sucess"

     46     else:

     47         print "failed to send”



    查看运行结果:

    GreydeMac-mini:Chapter_02 greyzhang$ ls

    c01.py diff.zip mail.py

    d1.py dns_parser.py pydiff.py

    d2.py email_demo.py report.html

    diff.py join.py 筷子兄弟 - 父亲.mp3

    GreydeMac-mini:Chapter_02 greyzhang$ python email_demo.py 

    send sucess


    邮件发送成功,查看接收邮箱可以看到邮件已经收到。现在的唯一遗憾是附件的编码格式出了问题,成了乱码。


    展开全文
  • Python实现邮件发送,钉钉机器人

    千次阅读 2019-07-17 18:49:31
    邮件编程 SMTP概述 SMTP(Simple Mail Transfer ...python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装 SMTP对象 • Python发送邮件,第一步是创建SMTP对象 import smtp...
  • 最近在学习python,正好看到SMPT,可以通过它实现一个简单的邮件发送功能: # _*_ coding:utf-8 _*_ import smtplib from email.mime.text import MIMEText from email.header import Header sender = 'xxx@163....
  • python实现邮件发送(包括带附件)

    千次阅读 2020-08-05 15:33:04
    python实现邮件发送 注意:发件人邮箱需要开启‘POP3/SMTP服务’,登录邮箱到设置账户中开启,开启后会给一个授权码(要记下来) 如下代码: import smtplib from email.mime.application import MIMEApplication ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,270
精华内容 16,508
关键字:

python实现邮件发送

python 订阅