python邮件发送

邮件发送代码如下


import smtplib, sys
from email.mime.text import MIMEText
import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('-S','--subject_title', type=str, default = None)
parser.add_argument('-s','--subject', type=str, default=None)
args = parser.parse_args()
class Msmtp():
def __init__(self, target, subject, content): # 收件人、标题、内容
self.msg_from = 'xxx@123.com' # 邮件发送者
self.password = 'passwd'
self.sender = smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
self.msg_to = target.split(",")
self.subject = subject
self.content = content

def login(self):
self.sender.login(self.msg_from, self.password) # 邮箱登录

def msg(self):
self.msg = MIMEText(self.content) # 此处可选择文本格式或html等格式, 显示发送信息
self.msg['Subject'] = self.subject
self.msg['From'] = self.msg_from
self.msg['To'] = ",".join(self.msg_to)

def send_mail(self):
try:
self.login()
self.msg()
# sendmail 第二个参数,目的邮箱,参数类型 str 或者 list
self.sender.sendmail(self.msg_from, self.msg_to, self.msg.as_string())
except Exception as e:
print(u'邮件发送失败,原因:{}'.format(e))
else:
# print(u'邮件发送至 {} 成功!'.format(self.msg['To']))
pass
finally:
self.sender.quit()

if __name__ == '__main__':
# 收件人, 标题, 内容
receivers = 'xxx@qq.com'
title = "测试"
subject = "testt测试"
# a = Msmtp(sys.argv[1], sys.argv[2], sys.argv[3])
a = Msmtp(receivers, title, subject) # receivers收件人
a.send_mail()
posted @ 2019-12-04 14:37  逐鹿123  阅读(248)  评论(0)    收藏  举报