python发送邮件(支持多个接收人)

总代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
from email.mime.text import MIMEText
import smtplib
import sys
import time
iAm='xxx@163.com'
password='xxxx'
reload(sys)
sys.setdefaultencoding('utf-8')

#三个参数:whotosend代表收件人(收件人多个可以这样子写xxxx@163.com;xxxx@163.com),subject代表主题,mailbody代表发送的内容
def mySendMail( whotosend, subject, mailbody ):
	#设置发送人是谁,必须要能登录的!!!!!
	fromemail = iAm
	current_time=time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))

	HOST = 'smtp.xxx.com'
	SUBJECT = u'%s' % subject
	FROM = fromemail
	msg = MIMEText("""%s"""%(mailbody), "plain", "utf-8")

	msg['Subject'] = SUBJECT
	msg['From'] = FROM
	msg['To'] =  whotosend

	try:
		server = smtplib.SMTP()
		server.connect(HOST, "25")
		server.starttls()
		#设置登录的密码!!!!!
		server.login(fromemail, password)
		server.sendmail(FROM, whotosend.split(','), msg.as_string())
		server.quit()
		print "success"
	except Exception, e:
		print "fail: "+str(e)
recv=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
mySendMail(recv, subject, content);


1: 使用方法(改三个变量后即可使用)

    iAm='xxx@163.com' #这个把它改你的邮箱,比如test@163.com

    password='xxxx' #把这个改成你邮箱的密码

    HOST = 'smtp.xxx.com' #把这个改成smtp所在的地址,比如163就是smtp.163.com


2: 调用的时候需要给三个参数

    1: 发给谁,比如mahuateng@qq.com,多个人使用逗号隔开

    2: 主题是什么,比如 subject

    3: 内容是什么,比如content

    python mysendmail.py 'mahuateng@qq.com,mayun@ali.com' 'subject' 'content'


3: 注意事项

    1: 因为使用你的邮箱和密码去163或者qq进行验证,所以你需要在网页登录你的邮箱开启smtp。没开启smtp就无法认证,也就无法使用python发送邮件了。

    2: 另外,机器访问外网的tcp 25端口要开放,假如使用163,要你的机器能够访问smtp.163.com的25端口。

转载于:https://my.oschina.net/zhuangweihong/blog/546762

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值