Skip to content

Commit 61d56da

Browse files
committed
[Mod] catch exception when sending email and write log, close #3580
1 parent 6c44aee commit 61d56da

File tree

3 files changed

+22
-8
lines changed

3 files changed

+22
-8
lines changed

vnpy/trader/engine.py

+13-7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from logging import Logger
33
import smtplib
44
import os
5+
import traceback
56
from abc import ABC
67
from pathlib import Path
78
from datetime import datetime
@@ -646,17 +647,22 @@ def send_email(self, subject: str, content: str, receiver: str = "") -> None:
646647

647648
def run(self) -> None:
648649
""""""
650+
server: str = SETTINGS["email.server"]
651+
port: int = SETTINGS["email.port"]
652+
username: str = SETTINGS["email.username"]
653+
password: str = SETTINGS["email.password"]
654+
649655
while self.active:
650656
try:
651657
msg: EmailMessage = self.queue.get(block=True, timeout=1)
652658

653-
with smtplib.SMTP_SSL(
654-
SETTINGS["email.server"], SETTINGS["email.port"]
655-
) as smtp:
656-
smtp.login(
657-
SETTINGS["email.username"], SETTINGS["email.password"]
658-
)
659-
smtp.send_message(msg)
659+
try:
660+
with smtplib.SMTP_SSL(server, port) as smtp:
661+
smtp.login(username, password)
662+
smtp.send_message(msg)
663+
except Exception:
664+
msg: str = _("邮件发送失败: {}").format(traceback.format_exc())
665+
self.main_engine.write_log(msg, "EMAIL")
660666
except Empty:
661667
pass
662668

vnpy/trader/locale/en/LC_MESSAGES/vnpy.po

+4
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ msgstr "Gateway not found: {}"
159159
msgid "找不到引擎:{}"
160160
msgstr "Engine not found: {}"
161161

162+
#: vnpy\trader\engine.py:663
163+
msgid "邮件发送失败: {}"
164+
msgstr "Sending email failed: {}"
165+
162166
#: vnpy\trader\optimize.py:45
163167
msgid "固定参数添加成功"
164168
msgstr "Fixed parameter added successfully"

vnpy/trader/locale/vnpy.pot

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
msgid ""
66
msgstr ""
77
"Project-Id-Version: PACKAGE VERSION\n"
8-
"POT-Creation-Date: 2024-03-21 16:21+0800\n"
8+
"POT-Creation-Date: 2024-12-26 12:21+0800\n"
99
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1010
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1111
"Language-Team: LANGUAGE <[email protected]>\n"
@@ -159,6 +159,10 @@ msgstr ""
159159
msgid "找不到引擎:{}"
160160
msgstr ""
161161

162+
#: vnpy\trader\engine.py:663
163+
msgid "邮件发送失败: {}"
164+
msgstr ""
165+
162166
#: vnpy\trader\optimize.py:45
163167
msgid "固定参数添加成功"
164168
msgstr ""

0 commit comments

Comments
 (0)