UtilityLibAPI 1.2511.291__tar.gz → 1.2511.292__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {utilitylibapi-1.2511.291/src/UtilityLibAPI.egg-info → utilitylibapi-1.2511.292}/PKG-INFO +4 -1
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/README.md +3 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/pyproject.toml +1 -1
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/MailSenderLib.py +34 -9
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292/src/UtilityLibAPI.egg-info}/PKG-INFO +4 -1
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/LICENSE +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/setup.cfg +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/Archive7zLib.py +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/EnDeCodeLib.py +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/ExtWrapper7zLib.py +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/SessionVARLib.py +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/__init__.py +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/SOURCES.txt +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/dependency_links.txt +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/requires.txt +0 -0
- {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: UtilityLibAPI
|
|
3
|
-
Version: 1.2511.
|
|
3
|
+
Version: 1.2511.292
|
|
4
4
|
Summary: UtilityLibAPI Python package
|
|
5
5
|
Author-email: James Lin <tylin123@ms27.hinet.net>
|
|
6
6
|
License: Copyright (c) 2025 James Lin **UtilityLibAPI**
|
|
@@ -33,6 +33,9 @@ Dynamic: license-file
|
|
|
33
33
|
#UtilityLibAPI Classes
|
|
34
34
|
|
|
35
35
|
## History of version
|
|
36
|
+
Version 1.2511.292: 2025/11/29<BR>
|
|
37
|
+
Add Event for send mail when success or failure.
|
|
38
|
+
|
|
36
39
|
Version 1.2511.291: 2025/11/29<BR>
|
|
37
40
|
Fixed MailSenderLib: Attachement file name encode problem.
|
|
38
41
|
Add function for user can modify mail caption of from field.
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
#UtilityLibAPI Classes
|
|
2
2
|
|
|
3
3
|
## History of version
|
|
4
|
+
Version 1.2511.292: 2025/11/29<BR>
|
|
5
|
+
Add Event for send mail when success or failure.
|
|
6
|
+
|
|
4
7
|
Version 1.2511.291: 2025/11/29<BR>
|
|
5
8
|
Fixed MailSenderLib: Attachement file name encode problem.
|
|
6
9
|
Add function for user can modify mail caption of from field.
|
|
@@ -30,6 +30,12 @@ class CLASS_MailSender:
|
|
|
30
30
|
self.Pms_Account = Pms_Account
|
|
31
31
|
self.Pms_Password = Pms_Password
|
|
32
32
|
self.Pmb_UseSSL = Pmb_UseSSL
|
|
33
|
+
# ======================================================================
|
|
34
|
+
# 新增事件
|
|
35
|
+
# ======================================================================
|
|
36
|
+
self.OnAfterSendSuccess: Optional[Callable[[str], None]] = None
|
|
37
|
+
self.OnAfterSendFailure: Optional[Callable[[str], None]] = None
|
|
38
|
+
|
|
33
39
|
|
|
34
40
|
#------------------------------------------------------------
|
|
35
41
|
def CUF_CreateMessage(self,
|
|
@@ -134,32 +140,51 @@ class CLASS_MailSender:
|
|
|
134
140
|
server.sendmail(from_addr, all_recipients, msg.as_string())
|
|
135
141
|
|
|
136
142
|
print("✅ Send Success!")
|
|
143
|
+
# ===== 觸發事件 =====
|
|
144
|
+
if self.OnAfterSendSuccess:
|
|
145
|
+
self.OnAfterSendSuccess(Pms_Subject)
|
|
137
146
|
return True
|
|
138
147
|
except Exception as e:
|
|
139
148
|
print("❌ Failure:", e)
|
|
149
|
+
# ===== 觸發事件 =====
|
|
150
|
+
if self.OnAfterSendFailure:
|
|
151
|
+
self.OnAfterSendFailure(str(e))
|
|
140
152
|
return False
|
|
141
153
|
|
|
142
154
|
# ================================================================================
|
|
143
155
|
# [範例]
|
|
144
156
|
# 匯入剛才寫好的 CLASS_MailSender
|
|
145
157
|
#from MailSender import CLASS_MailSender # 假設你把上面的 class 儲存為 MailSender.py
|
|
146
|
-
|
|
158
|
+
|
|
159
|
+
def GE_OnSendSuccess(Pms_Subject : str):
|
|
160
|
+
print("[事件]:成功寄出了!");
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def GE_OnSendFailure(Pms_ErrMsg : str):
|
|
164
|
+
print("[事件]: 寄送失敗 ...");
|
|
165
|
+
print("Err Msg:"+ Pms_ErrMsg);
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
if(__name__ == "__main__"):
|
|
147
169
|
# === 初始化郵件傳送物件 ===
|
|
148
170
|
mailer = CLASS_MailSender(
|
|
149
|
-
Pms_SMTP_Server="
|
|
171
|
+
Pms_SMTP_Server="mxr.hxxxt.xxt",
|
|
150
172
|
Pmi_Port=465,
|
|
151
|
-
Pms_Account="
|
|
152
|
-
Pms_Password="
|
|
173
|
+
Pms_Account="xxxxch.xxz@xxa.xxxet.xxt",
|
|
174
|
+
Pms_Password="xxxxxxxxx",
|
|
153
175
|
Pmb_UseSSL=True
|
|
154
176
|
)
|
|
155
177
|
|
|
178
|
+
mailer.OnAfterSendSuccess = GE_OnSendSuccess;
|
|
179
|
+
mailer.OnAfterSendFailure = GE_OnSendFailure;
|
|
180
|
+
|
|
156
181
|
# === 郵件收件者設定 ===
|
|
157
|
-
ml_To = ["
|
|
158
|
-
ml_Cc = ["
|
|
159
|
-
ml_Bcc = ["
|
|
182
|
+
ml_To = ["gxxx4@goxxxx.bxz", "xxxxnxxx@xx27.xxxxx.xxt"]
|
|
183
|
+
ml_Cc = ["exxxxxx3@hotmail.com.tw"]
|
|
184
|
+
ml_Bcc = ["jxxxxxx.xxx@mxx.xxxet.xet"] # 密件副本,不會顯示在郵件中
|
|
160
185
|
|
|
161
186
|
# === 郵件主題與內容 ===
|
|
162
|
-
ms_Subject = "團隊週報通知 wahaha 123*()F"
|
|
187
|
+
ms_Subject = "團隊週報通知 有事件 wahaha 123*()F"
|
|
163
188
|
|
|
164
189
|
ms_BodyText = """
|
|
165
190
|
這是一封自動寄出的團隊週報通知。
|
|
@@ -193,7 +218,7 @@ if __name__ == "__main__":
|
|
|
193
218
|
Pms_Subject=ms_Subject,
|
|
194
219
|
Pms_BodyText=ms_BodyText,
|
|
195
220
|
Pms_BodyHTML=ms_BodyHTML,
|
|
196
|
-
Pms_From = "太棒了!!
|
|
221
|
+
Pms_From = "太棒了!!a會觸發事件",
|
|
197
222
|
Pobj_To=ml_To,
|
|
198
223
|
Pobj_Cc=ml_Cc,
|
|
199
224
|
Pobj_Bcc=ml_Bcc,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: UtilityLibAPI
|
|
3
|
-
Version: 1.2511.
|
|
3
|
+
Version: 1.2511.292
|
|
4
4
|
Summary: UtilityLibAPI Python package
|
|
5
5
|
Author-email: James Lin <tylin123@ms27.hinet.net>
|
|
6
6
|
License: Copyright (c) 2025 James Lin **UtilityLibAPI**
|
|
@@ -33,6 +33,9 @@ Dynamic: license-file
|
|
|
33
33
|
#UtilityLibAPI Classes
|
|
34
34
|
|
|
35
35
|
## History of version
|
|
36
|
+
Version 1.2511.292: 2025/11/29<BR>
|
|
37
|
+
Add Event for send mail when success or failure.
|
|
38
|
+
|
|
36
39
|
Version 1.2511.291: 2025/11/29<BR>
|
|
37
40
|
Fixed MailSenderLib: Attachement file name encode problem.
|
|
38
41
|
Add function for user can modify mail caption of from field.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/requires.txt
RENAMED
|
File without changes
|
{utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/top_level.txt
RENAMED
|
File without changes
|