邮件utils
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
import os
class EmailUtil:
smtp_host = "smtp.qq.com"
smtp_port = 465
smtp_username = "2297846297@qq.com"
smtp_password = "hdkbvwdxummrdhgh"
smtp_server = SMTP_SSL(smtp_host, smtp_port)
smtp_server.login(smtp_username, smtp_password)
@classmethod
def send_test(cls, title: str, body: str, to: list):
message = MIMEText(body)
message['subject'] = title
message['from'] = cls.smtp_username
message['to'] = ";".join(to)
cls.smtp_server.sendmail(
from_addr=cls.smtp_username,
to_addrs=to,
msg=message.as_string()
)
@classmethod
def send_with_html(cls, title: str, body: str, file_path: str, to: list):
message = MIMEMultipart()
message['subject'] = title
message['from'] = cls.smtp_username
message['to'] = ";".join(to)
message.attach(MIMEText(body))
# 初始化一个附件对象
mime = MIMEBase('file', 'html', filename=os.path.basename(file_path))
# 加上必要的头信息:
mime.add_header('Content-Disposition', 'attachment',
filename=os.path.basename(file_path))
mime.add_header('Content-ID', '<0>')
mime.add_header('X-Attachment-Id', '0')
# 把文件塞到mime
with open(file_path, "rb") as frb:
mime.set_payload(frb.read())
# base64编码
encoders.encode_base64(mime)
message.attach(mime)
# 发送邮件
cls.smtp_server.sendmail(cls.smtp_username, to, message.as_string())
sql
import pymysql
class MysqlUtil:
conn = pymysql.connect(
host="192.168.31.13",
port=3306,
user="root",
password="Aa654321.",
database="irc_21",
charset="utf8"
)
@classmethod
def query_one(cls, sql):
# 获取游标
cursor = cls.conn.cursor()
cursor.execute(sql)
res = cursor.fetchone()
cursor.close()
return res
@classmethod
def query_all(cls, sql):
# 获取游标
cursor = cls.conn.cursor()
cursor.execute(sql)
res = cursor.fetchall()
cursor.close()
return res
@classmethod
def exe(cls, *sql):
cursor = cls.conn.cursor()
try:
for s in sql:
cursor.execute(s)
cls.conn.commit()
except:
cls.conn.rollback()
cursor.close()
本文介绍了两个Python实用工具类,一个用于发送邮件,包括纯文本和带HTML附件的邮件;另一个用于连接MySQL数据库并执行查询操作。邮件工具类利用SMTP_SSL进行安全登录并发送邮件,数据库工具类通过pymysql库实现数据库连接及查询、执行SQL语句的功能。
1472

被折叠的 条评论
为什么被折叠?



