From 6330e04474532a56d5bade42028ad7103fa17904 Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Tue, 28 Jul 2026 17:34:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20smtp=20.env=20=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=9B=BF=E4=BB=A3=20dotenv=EF=BC=8C=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E6=94=AF=E6=8C=81=20KEY=3DVALUE=20=E5=92=8C=20KEY=20V?= =?UTF-8?q?ALUE=20=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- smtp/requirements.txt | 1 - smtp/smtp.py | 24 +++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/smtp/requirements.txt b/smtp/requirements.txt index a74b3c5..4ccd809 100644 --- a/smtp/requirements.txt +++ b/smtp/requirements.txt @@ -1,3 +1,2 @@ ../pymsg -python-dotenv nuitka diff --git a/smtp/smtp.py b/smtp/smtp.py index 51e313d..4c5d08b 100644 --- a/smtp/smtp.py +++ b/smtp/smtp.py @@ -27,11 +27,25 @@ import threading import time from email.mime.text import MIMEText -try: - from dotenv import load_dotenv - load_dotenv(os.path.join(os.path.dirname(os.path.abspath(__file__)), ".env")) -except ImportError: - pass # 无 dotenv 时直接读进程环境变量 +# 手动加载 .env(支持 KEY=VALUE 和 KEY VALUE 两种格式,容忍空行/注释/引号) +_env_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), ".env") +if os.path.isfile(_env_path): + with open(_env_path, "r") as _f: + for _line in _f: + _line = _line.strip() + if not _line or _line.startswith("#"): + continue + # 支持 KEY=VALUE 与 KEY VALUE 两种写法 + if "=" in _line: + _key, _, _val = _line.partition("=") + else: + _parts = _line.split(None, 1) + _key = _parts[0] + _val = _parts[1] if len(_parts) > 1 else "" + _key = _key.strip() + _val = _val.strip().strip("\"'") + if _key and _key not in os.environ: + os.environ[_key] = _val from log_client import logs