Files
ni-mail/app/services/smtp.py

23 lines
794 B
Python

import smtplib
from email.message import EmailMessage
def send_mail_smtp(host: str, port: int, username: str, password: str, to_email: str, subject: str, body_text: str, use_tls: bool = True, use_ssl: bool = False) -> bool:
"""使用 SMTP 协议发送邮件"""
msg = EmailMessage()
msg["Subject"] = subject
msg["From"] = username
msg["To"] = to_email
msg.set_content(body_text)
if use_ssl:
with smtplib.SMTP_SSL(host, port, timeout=20) as server:
server.login(username, password)
server.send_message(msg)
else:
with smtplib.SMTP(host, port, timeout=20) as server:
if use_tls:
server.starttls()
server.login(username, password)
server.send_message(msg)
return True