Skip to content

Commit a9d3564

Browse files
committed
可自定义邮件服务器
1 parent b950eaa commit a9d3564

4 files changed

Lines changed: 10 additions & 7 deletions

File tree

feapder/setting.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
EAMIL_SENDER = "" # 发件人
116116
EAMIL_PASSWORD = "" # 授权码
117117
EMAIL_RECEIVER = "" # 收件人 支持列表,可指定多个
118+
EMAIL_SMTPSERVER = "smtp.163.com" # 邮件服务器 默认为163邮箱
118119
# 企业微信报警
119120
WECHAT_WARNING_URL = "" # 企业微信机器人api
120121
WECHAT_WARNING_PHONE = "" # 报警人 将会在群内@此人, 支持列表,可指定多人

feapder/templates/project_template/setting.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
# EAMIL_SENDER = "" # 发件人
9797
# EAMIL_PASSWORD = "" # 授权码
9898
# EMAIL_RECEIVER = "" # 收件人 支持列表,可指定多个
99+
# EMAIL_SMTPSERVER = "smtp.163.com" # 邮件服务器 默认为163邮箱
99100
# # 企业微信报警
100101
# WECHAT_WARNING_URL = "" # 企业微信机器人api
101102
# WECHAT_WARNING_PHONE = "" # 报警人 将会在群内@此人, 支持列表,可指定多人

feapder/utils/email_sender.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,13 @@
2020

2121
class EmailSender(object):
2222
SENDER = "feapder报警系统"
23-
SMTPSERVER = "smtp.163.com"
2423

25-
def __init__(self, username, password):
24+
def __init__(self, username, password, smtpserver="smtp.163.com"):
2625
self.username = username
2726
self.password = password
28-
29-
self.smtpserver = EmailSender.SMTPSERVER
27+
self.smtpserver = smtpserver
28+
self.smtp_client = smtplib.SMTP_SSL(smtpserver)
3029
self.sender = EmailSender.SENDER
31-
self.smtp_client = smtplib.SMTP_SSL(self.SMTPSERVER)
3230

3331
def __enter__(self):
3432
self.login()

feapder/utils/tools.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2267,6 +2267,7 @@ def email_warning(
22672267
eamil_sender=setting.EAMIL_SENDER,
22682268
eamil_password=setting.EAMIL_PASSWORD,
22692269
email_receiver=setting.EMAIL_RECEIVER,
2270+
email_smtpserver=setting.EMAIL_SMTPSERVER,
22702271
rate_limit=setting.WARNING_INTERVAL,
22712272
):
22722273
if not all([message, eamil_sender, eamil_password, email_receiver]):
@@ -2281,7 +2282,9 @@ def email_warning(
22812282
if isinstance(email_receiver, str):
22822283
email_receiver = [email_receiver]
22832284

2284-
with EmailSender(username=eamil_sender, password=eamil_password) as email:
2285+
with EmailSender(
2286+
username=eamil_sender, password=eamil_password, smtpserver=email_smtpserver
2287+
) as email:
22852288
return email.send(receivers=email_receiver, title=title, content=message)
22862289

22872290

@@ -2366,4 +2369,4 @@ def make_item(cls, data: dict):
23662369
item = cls()
23672370
for key, val in data.items():
23682371
setattr(item, key, val)
2369-
return item
2372+
return item

0 commit comments

Comments
 (0)