Python发送邮件的例子,运维人员使用
发布时间:2020-05-25 01:04:19 所属栏目:Python 来源:互联网
导读:Python发送邮件的例子,运维人员使用
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 # -*- coding: UTF-8 -*-
'''
发送txt文本邮件
'''
import smtplib
from email.mime.text import MIMEText
import os,sys
if len(sys.argv) > 5 or len(sys.argv) < 4:
print("Usage:python %s <mail_to> [mail_cc] <mail_subject> <mail_content>" % sys.argv[0]);
exit()
mail_host="smtp.abc.com" #设置服务器
mail_user="it_online" #用户名
mail_pass="*******" #口令
mail_postfix="abc.com" #发件箱的后缀
mail_to=sys.argv[1]
if len(sys.argv) > 4:
mail_cc=sys.argv[2]
mail_subject=sys.argv[3]
mail_content=sys.argv[4]
else:
mail_subject=sys.argv[2]
mail_content=sys.argv[3]
def send_mail(to,cc,sub,content):
cc=cc.strip()
me="hello"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,_subtype='plain',_charset='gb2312')
msg['Subject'] = sub
msg['From'] = me
msg['To'] = to
msg['Cc'] = cc
try:
server = smtplib.SMTP()
server.connect(mail_host)
server.login(mail_user,mail_pass)
server.sendmail(me,to,msg.as_string())
if len(cc) <> 0:
server.sendmail(me,msg.as_string())
server.close()
return True
except Exception,e:
print str(e)
return False
def send_mail_nocc(to,content):
me="hello"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,_charset='gb2312')
msg['Subject'] = sub
msg['From'] = me
msg['To'] = to
try:
server = smtplib.SMTP()
server.connect(mail_host)
server.login(mail_user,mail_pass)
server.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == '__main__':
if len(sys.argv) > 4:
if send_mail(mail_to,mail_cc,mail_subject,mail_content):
print "send sucess"
else:
print "send fail"
else:
if send_mail_nocc(mail_to,mail_content):
print "send sucess"
else:
print "send fail"
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
