源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python发送email的3种方法

  • 时间:2020-09-23 03:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python发送email的3种方法
python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。 先把几个最简单的发送邮件方式记录下,像html邮件,附件等也是支持的,需要时查文档即可 [b]1、登录邮件服务 [/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/env python  # -*- coding: utf-8 -*-  #python2.7x  #send_simple_email_by_account.py  @2014-07-30  #author: orangleliu    ''''' 使用python写邮件 simple 使用126 的邮箱服务 '''    import smtplib  from email.mime.text import MIMEText    SMTPserver = 'smtp.126.com'  sender = 'liuzhizhi123@126.com'  password = "xxxx"    message = 'I send a message by Python. 你好'  msg = MIMEText(message)    msg['Subject'] = 'Test Email by Python'  msg['From'] = sender  msg['To'] = destination    mailserver = smtplib.SMTP(SMTPserver, 25)  mailserver.login(sender, password)  mailserver.sendmail(sender, [sender], msg.as_string())  mailserver.quit()  print 'send email success' 
[b]2、调用sendmail命令 (linux)[/b]
[u]复制代码[/u] 代码如下:
# -*- coding: utf-8 -*-  #python2.7x  #send_email_by_.py  #author: orangleliu  #date: 2014-08-15  ''''' 用的是sendmail命令的方式   这个时候邮件还不定可以发出来,hostname配置可能需要更改 '''    from email.mime.text import MIMEText  from subprocess import Popen, PIPE    def get_sh_res():      p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE)      return str(p.communicate()[0])    def mail_send(sender, recevier):      print "get email info..."      msg = MIMEText(get_sh_res())      msg["From"] = sender      msg["To"] = recevier      msg["Subject"] = "Yestoday interface log results"      p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE)      res = p.communicate(msg.as_string())      print 'mail sended ...'    if __name__ == "__main__":      s = "957748332@qq.com"      r = "zhizhi.liu@chinacache.com"      mail_send(s, r) 
[b]3、使用smtp服务来发送(本地或者是远程服务器)[/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/env python  # -*- coding: utf-8 -*-  #python2.7x  #send_email_by_smtp.py  #author: orangleliu  #date: 2014-08-15  ''''' linux 下使用本地的smtp服务来发送邮件 前提要开启smtp服务,检查的方法 #ps -ef|grep sendmail #telnet localhost 25   这个时候邮件还不定可以发出来,hostname配置可能需要更改 '''  import smtplib  from email.mime.text import MIMEText  from subprocess import Popen, PIPE      def get_sh_res():      p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE)      return str(p.communicate()[0])    def mail_send(sender, recevier):      msg = MIMEText(get_sh_res())      msg["From"] = sender      msg["To"] = recevier      msg["Subject"] = "Yestoday interface log results"      s = smtplib.SMTP('localhost')      s.sendmail(sender, [recevier], msg.as_string())      s.quit()      print 'send mail finished...'    if __name__ == "__main__":      s = "zhizhi.liu@chinacache.com"      r =  s      mail_send(s, r) 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部