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.
Files changed (16) hide show
  1. {utilitylibapi-1.2511.291/src/UtilityLibAPI.egg-info → utilitylibapi-1.2511.292}/PKG-INFO +4 -1
  2. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/README.md +3 -0
  3. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/pyproject.toml +1 -1
  4. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/MailSenderLib.py +34 -9
  5. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292/src/UtilityLibAPI.egg-info}/PKG-INFO +4 -1
  6. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/LICENSE +0 -0
  7. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/setup.cfg +0 -0
  8. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/Archive7zLib.py +0 -0
  9. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/EnDeCodeLib.py +0 -0
  10. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/ExtWrapper7zLib.py +0 -0
  11. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/SessionVARLib.py +0 -0
  12. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI/__init__.py +0 -0
  13. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/SOURCES.txt +0 -0
  14. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/dependency_links.txt +0 -0
  15. {utilitylibapi-1.2511.291 → utilitylibapi-1.2511.292}/src/UtilityLibAPI.egg-info/requires.txt +0 -0
  16. {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.291
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.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "UtilityLibAPI"
7
- version = "1.2511.291"
7
+ version = "1.2511.292"
8
8
  description = "UtilityLibAPI Python package"
9
9
  authors = [
10
10
  { name="James Lin", email="tylin123@ms27.hinet.net" }
@@ -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
- if __name__ == "__main__":
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="msr.hinet.net",
171
+ Pms_SMTP_Server="mxr.hxxxt.xxt",
150
172
  Pmi_Port=465,
151
- Pms_Account="gxxxx.xz@msa.hinet.net",
152
- Pms_Password="xxxxx",
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 = ["xxxx4@xxxxxh.xxz", "xxxxxx23@xxx7.hxxxx.net"]
158
- ml_Cc = ["exxxxx03@hotmail.com.tw"]
159
- ml_Bcc = ["xxxxxxy.lin@msa.hxxxx.net"] # 密件副本,不會顯示在郵件中
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 = "太棒了!!abcdefg123",
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.291
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.