Refactor SMTP config usage in EmailQueue
Move SMTP configuration retrieval from class initialization to method scope in send_email_by_smtp. This improves encapsulation and ensures the latest settings are used when sending emails.
This commit is contained in:
@@ -33,14 +33,6 @@ class EmailQueue:
|
||||
# 邮件提供商配置
|
||||
self.email_provider = settings.email_provider
|
||||
|
||||
# SMTP 邮件配置
|
||||
self.smtp_server = settings.smtp_server
|
||||
self.smtp_port = settings.smtp_port
|
||||
self.smtp_username = settings.smtp_username
|
||||
self.smtp_password = settings.smtp_password
|
||||
self.from_email = settings.from_email
|
||||
self.from_name = settings.from_name
|
||||
|
||||
# MailerSend 服务(延迟初始化)
|
||||
self._mailersend_service = None
|
||||
|
||||
@@ -240,9 +232,17 @@ class EmailQueue:
|
||||
是否发送成功
|
||||
"""
|
||||
try:
|
||||
# 获取 SMTP 配置
|
||||
smtp_server = settings.smtp_server
|
||||
smtp_port = settings.smtp_port
|
||||
smtp_username = settings.smtp_username
|
||||
smtp_password = settings.smtp_password
|
||||
from_email = settings.from_email
|
||||
from_name = settings.from_name
|
||||
|
||||
# 创建邮件
|
||||
msg = MIMEMultipart("alternative")
|
||||
msg["From"] = f"{self.from_name} <{self.from_email}>"
|
||||
msg["From"] = f"{from_name} <{from_email}>"
|
||||
msg["To"] = email_data.get("to_email", "")
|
||||
msg["Subject"] = email_data.get("subject", "")
|
||||
|
||||
@@ -258,10 +258,10 @@ class EmailQueue:
|
||||
|
||||
# 发送邮件 - 使用线程池避免阻塞事件循环
|
||||
def send_smtp_email():
|
||||
with smtplib.SMTP(self.smtp_server, self.smtp_port) as server:
|
||||
if self.smtp_username and self.smtp_password:
|
||||
with smtplib.SMTP(smtp_server, smtp_port) as server:
|
||||
if smtp_username and smtp_password:
|
||||
server.starttls()
|
||||
server.login(self.smtp_username, self.smtp_password)
|
||||
server.login(smtp_username, smtp_password)
|
||||
server.send_message(msg)
|
||||
|
||||
await self._run_in_executor(send_smtp_email)
|
||||
|
||||
Reference in New Issue
Block a user