python发送邮件

1. 发一般文档


#!/usr/bin/env python

#coding:utf8

# 导入 smtplib 和 MIMEText

import sys,getpass

import smtplib

from email.mime.text import MIMEText

# 发送邮件函数

def send_mail(to_list, sub,context):

       me = mail_user + "<"+mail_user+"@"+mail_postfix+">"

       f = open(context)

       msg = MIMEText(f.read(),_charset="utf-8")

#msg = MIMEText(context)

       f.close()

       msg['Subject'] = sub

       msg['From'] = me

       msg['To'] = "".join(to_list)

       try:

               send_smtp = smtplib.SMTP()

               send_smtp.connect(mail_host)

               send_smtp.login(mail_user, mail_pass)

               send_smtp.sendmail(me, to_list, msg.as_string())

               send_smtp.close()

               return True

       except Exception, e:

               print str(e)

               return False

# 设置服务器名称、用户名、密码以及邮件后缀

mail_host = "smtp.126.com"

mail_user = "iphone3000@126.com"

mail_pass =getpass.getpass()    #隐藏输入密码

mail_postfix="126.com"

#mailto_list = ["1542141838@qq.com","jjyy@qq.com"]

mailto_list = sys.argv[1]

sub= sys.argv[2]

context=sys.argv[3]

if send_mail(mailto_list,sub,context):

       print "Send mail succed!"

else:

       print "Send mail failed!"

2. 发带附件邮件并包含主题


#!/usr/bin/env python

#coding:utf8

import smtplib

from email.mime.multipart import MIMEMultipart

from email.mime.base import MIMEBase

from email.mime.text import MIMEText

from email import encoders

import sys

def send_mail(to_list, sub, context, filename):

       me = mail_user + "<"+mail_user+"@"+mail_postfix+">"

       msg = MIMEMultipart()

       msg['Subject'] = sub

       msg['From'] = me

       msg['To'] = "".join(to_list)

       context = MIMEText(context,_subtype='plain',_charset='utf-8')  #解决乱码

       msg.attach(context)

       submsg = MIMEBase('application', 'x-xz')

       submsg.set_payload(open(filename,'rb').read())

       encoders.encode_base64(submsg)

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

       msg.attach(submsg)

       try:

               send_smtp = smtplib.SMTP()

               send_smtp.connect(mail_host)

               send_smtp.login(mail_user, mail_pass)

               send_smtp.sendmail(me, to_list, msg.as_string())

               send_smtp.close()

               return True

       except Exception, e:

               print str(e)[1]

               return False

# 设置服务器名称、用户名、密码以及邮件后缀

mail_host = "mail.weimob.com"

mail_user = "jianwen.lu@weimob.com"

mail_pass = "Jay446585569"

mail_postfix = "weimob.com"

#mailto_list = ["763836801@qq.com","jianwen.lu@weimob.com"]

mailto_lists = sys.argv[1]

mailto_list = mailto_lists.split(',')   #发送多人

sub= sys.argv[2]

context = sys.argv[3]

filename = sys.argv[4]

if send_mail(mailto_list, sub, context, filename):

       print "Send mail succed!"

else:

       print "Send mail failed!"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件。 Python提供smtp...
    易百教程阅读 44,016评论 4 62
  • 背景 公司内网有个论坛,各种公司的前沿消息都会有人在讨论。一忙起来,经常忘记逛论坛,所以写了个爬虫,爬取论坛前10...
    aialin阅读 946评论 0 11
  • python发送邮件 准备 python中发送邮件主要用的是smtplib和email两个模块,下面主要对这两个模...
    爱撒谎的男孩阅读 500评论 0 2
  • 起因 机器运行的越来慢,每天启动模拟器需要十几分钟,打个发布包也需要十分钟左右,实在受不了这个速度,一咬牙一跺脚就...
    小弱鸡阅读 586评论 0 2
  • 夏天,没有风可不行。 它是舒缓酷暑的一剂良药,清热解毒 它是强心针,给被高温弄得躁动不安的人一颗定心丸 夏风是多变...
    TQY之雅一阅读 307评论 0 0