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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

总代码如下:

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

#三个参数:whotosend代表收件人(收件人多个可以这样子写[email protected];[email protected]),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='[email protected]' #这个把它改你的邮箱,比如[email protected]

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

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


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

    1: 发给谁,比如[email protected],多个人使用逗号隔开

    2: 主题是什么,比如 subject

    3: 内容是什么,比如content

    python mysendmail.py '[email protected],[email protected]' 'subject' 'content'


3: 注意事项

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

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

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

你可能感兴趣的:(python发送邮件(支持多个接收人))