Commit 82217d228be5a6b934ff33dfecddc5cc6d3ada84

Authored by David RENÉ
1 parent f14db237

change the logger from sendmail to cxm_lib

During sending email, if RSET fail, give up of sending
Showing 2 changed files with 17 additions and 11 deletions   Show diff stats
mail/send_mail.anubis
... ... @@ -25,6 +25,8 @@ read authentication.anubis
25 25 read smtp_client.anubis
26 26  
27 27 public define String send_mail_log = "SendMail".
  28 +public define String cxm_lib = "cxm_lib".
  29 +
28 30 public define LogMask send_mail_mask = logMask("send_mail").
29 31  
30 32 define Int _sendmail_time_out = 300. //5 minutes of timeout
... ... @@ -128,8 +130,11 @@ define Result(SmtpClientResult, One)
128 130 //if there is another recipient we send a RSET and we are able to send the
129 131 //email to the next recipient within the same smtp session
130 132 if length(tail) > 0 then
131   - send_rset(conn, sm_session, _sendmail_time_out, logger);
132   - send_to_recipients_list(conn, param, tail, sm_session, progress_report, logger, handle_result, unique_recipient)
  133 + if send_rset(conn, sm_session, _sendmail_time_out, logger) is
  134 + {
  135 + error(result) then error(result),
  136 + ok(_) then send_to_recipients_list(conn, param, tail, sm_session, progress_report, logger, handle_result, unique_recipient)
  137 + }
133 138 else
134 139 if unique_recipient then
135 140 result
... ... @@ -209,8 +214,8 @@ public define Result(SmtpClientResult, One)
209 214 param,
210 215 prepare_mail_callback,
211 216 (Int _) |-> unique,
212   - (LogLevel level, String txt) |-> if level is logTrace then logTrace(send_mail_log, send_mail_log, send_mail_mask, txt)
213   - else log(send_mail_log, level, send_mail_log, txt),
  217 + (LogLevel level, String txt) |-> if level is logTrace then logTrace(cxm_lib, send_mail_log, send_mail_mask, txt)
  218 + else log(cxm_lib, level, send_mail_log, txt),
214 219 handle_result
215 220 ).
216 221  
... ... @@ -237,18 +242,18 @@ public define Result(SmtpClientResult, One)
237 242 if resolve_address(server) is
238 243 {
239 244 failure then
240   - println("IP address NOT found for Mail server ["+server+"]");
241   - logWarning(send_mail_log, send_mail_log,"IP address NOT found for Mail server ["+server+"]");
  245 + //println("IP address NOT found for Mail server ["+server+"]");
  246 + logWarning(cxm_lib, send_mail_log,"IP address NOT found for Mail server ["+server+"]");
242 247 error(error),
243 248  
244 249 success(ip_addr) then
245 250 with ip_txt = ip_addr_to_string(ip_addr),
246   - logTrace(send_mail_log, send_mail_log, send_mail_mask, "send_mail: Trying to connect to "+ip_txt);
247   - println("send_mail: Trying to connect to "+ip_txt);
  251 + logTrace(cxm_lib, send_mail_log, send_mail_mask, "send_mail: Trying to connect to "+ip_txt);
  252 + //println("send_mail: Trying to connect to "+ip_txt);
248 253 if (Result(NetworkConnectError,RWStream))connect(ip_addr, port) is
249 254 {
250 255 error(e) then
251   - logTrace(send_mail_log, send_mail_log, send_mail_mask, "send_mail: Can't connect to "+ip_txt);
  256 + logWarning(cxm_lib, send_mail_log, "send_mail: Can't connect to "+ip_txt);
252 257 error(error),
253 258  
254 259 ok(server_conn) then
... ...
mail/smtp_client.anubis
... ... @@ -563,7 +563,7 @@ public define One
563 563 ) =
564 564 forget(smtp_send_command(conn, "QUIT", 221, session, timeout, logger)).
565 565  
566   -public define One
  566 +public define Result(SmtpClientResult, One)
567 567 send_rset
568 568 (
569 569 RWStream conn,
... ... @@ -571,7 +571,8 @@ public define One
571 571 Int timeout,
572 572 (LogLevel, String) -> One logger
573 573 ) =
574   - forget(smtp_send_command(conn, "RSET", 250, session, timeout, logger)).
  574 + smtp_send_command(conn, "RSET", 250, session, timeout, logger)
  575 +.
575 576  
576 577 define List(String)
577 578 get_auth_method
... ...