#include "wxinc.h" #include "xvt.h" #include "msg.h" #include "email.h" #include BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, const char* subject, const char* msg, const char* attach, BOOLEAN ui) { wxStringTokenizer tokTo(to, _T(";")); wxMailMessage Msg(subject, tokTo.GetNextToken(), msg); while (tokTo.HasMoreTokens()) Msg.AddTo(tokTo.GetNextToken()); if (Msg.m_to[0].IsEmpty()) { Msg.m_to[0] = " "; // Il destinatario "" fa piantare MAPI con errore 25 ui = TRUE; // Forza user interface in assenza di recipient } if (attach && *attach) { wxStringTokenizer tokAttach(attach, _T(";")); while (tokAttach.HasMoreTokens()) Msg.AddAttachment(tokAttach.GetNextToken()); } if (cc && *cc) { wxStringTokenizer Tok(cc, _T(";")); while (Tok.HasMoreTokens()) Msg.AddCc(Tok.GetNextToken()); } if (ccn && *ccn) { wxStringTokenizer Tok(ccn, _T(";")); while (Tok.HasMoreTokens()) Msg.AddBcc(Tok.GetNextToken()); } xvt_fsys_save_dir(); wxEmail Mail; BOOLEAN ok = Mail.Send(Msg, wxEmptyString, ui != 0); xvt_fsys_restore_dir(); return ok; }