python发送邮件的接口

# -*- coding: utf-8 -*-
# @Time : 2020-07-14
# @Author : pugongying
import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import os
import time
def get_monthdate_time():
return (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
class SendMail():
# 初始化内容
def __init__(self, smtpHost, sslPort, fromMail, toMail, username, password, errorLogDirFile):
self.smtpHost = smtpHost
self.sslPort = sslPort
self.fromMail = fromMail
self.toMail = toMail
self.username = username
self.password = password
self.errorLogDirFile = errorLogDirFile
def mailInfo(self):
# 邮件主题
subject = u'app arms alter info'
Date = get_monthdate_time()
# 文本内容 YY-MM-DD + 内容
content = str(Date) + ' ' + u'app arms alter info'
# 定义邮件格式
textApart = MIMEText(content)
mail = MIMEMultipart()
errr_log = self.errorLogDirFile
read_error_log = MIMEApplication(open(errr_log, 'rb').read())
filename = os.path.basename(self.errorLogDirFile)
read_error_log.add_header('Content-Disposition', 'attachment', filename=filename)
mail.attach(textApart)
mail.attach(read_error_log)
# 邮件内容
mail['Subject'] = Header(subject)
mail['From'] = self.fromMail
mail['To'] = ",".join(self.toMail)
mail['Date'] = formatdate()
return mail
def sendMail(self):
try:
mail = self.mailInfo()
smtp = smtplib.SMTP_SSL(self.smtpHost, self.sslPort)
smtp.ehlo()
smtp.login(self.username, self.password)
smtp.sendmail(self.fromMail, self.toMail, mail.as_string())
smtp.close()
print("ok")
except Exception as e:
print(e)
if __name__ == '__main__':
file_name = 'file_name.txt'
toMail = ['admin@admin.com']
s = SendMail("smtp.mxhichina.com", "465", "admin@admin.com", toMail, "admin@admin.com", "123456***", file_name)
s.sendMail()
posted @   蒲公英PGY  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示