/// <summary> /// Construct for struct. /// </summary> /// <param name="result">Email result information.</param> /// <param name="email">Email message object.</param> public stEmailArchiveEntry(stEmailSendResult result, PFEmailMessage email) { this.id = System.Guid.NewGuid(); this.numRetries = 0; this.firstSendAttempt = System.DateTime.MinValue; this.lastSendAttempt = System.DateTime.MinValue; this.sendResult = result; this.emailMessage = email; }
public static void SmtpTest(MainForm frm) { PFEmailMessage emMsg = new PFEmailMessage(); PFEmailManager emMgr; string connectionString = string.Empty; string configValue = string.Empty; try { _msg.Length = 0; _msg.Append("SmtpTest started ...\r\n"); Program._messageLog.WriteLine(_msg.ToString()); configValue = AppConfig.GetStringValueFromConfigFile("EmailResendQueueDatabaseConnectionString", string.Empty); if (configValue.Length > 0) { _emailResendQueueDatabaseConnectionString = configValue; } connectionString = _emailResendQueueDatabaseConnectionString; emMgr = new PFEmailManager(@"c:\temp\EmailResendQueue.xml"); emMsg.SMTPServer = frm.txtSmtpServer.Text; emMsg.SmtpPort = AppTextGlobals.ConvertStringToInt(frm.txtSmtpPort.Text, 25); if (frm.txtSendTimeout.Text.Length > 0) { emMsg.SendTimeout = AppTextGlobals.ConvertStringToInt(frm.txtSendTimeout.Text, 100000); } if (frm.txtMaxIdleTime.Text.Length > 0) { emMsg.MaxIdleTime = AppTextGlobals.ConvertStringToInt(frm.txtMaxIdleTime.Text, 1); } emMsg.EnableSsl = frm.chkUseSsl.Checked; emMsg.SenderAddress = frm.txtFromAddress.Text; emMsg.FromAddress = frm.txtFromAddress.Text; emMsg.ToAddress = frm.txtToAddress.Text; if (frm.txtCCAddress.Text.Length > 0) { emMsg.CCAddress = frm.txtCCAddress.Text; } if (frm.txtBCCAddress.Text.Length > 0) { emMsg.BccAddress = frm.txtBCCAddress.Text; } emMsg.MessageSubject = frm.txtSubjectLine.Text; emMsg.MessageBody = frm.txtMessageBody.Text; _msg.Length = 0; _msg.Append("SMTP Port = "); _msg.Append(emMsg.SmtpPort); _msg.Append("\r\n"); _msg.Append("Send Timeout = "); _msg.Append(emMsg.SendTimeout); _msg.Append("\r\n"); _msg.Append("Max Idle Time = "); _msg.Append(emMsg.MaxIdleTime); _msg.Append("\r\n"); _msg.Append("SMTP Server = "); _msg.Append(emMsg.SMTPServer); _msg.Append("\r\n"); _msg.Append("From Address = "); _msg.Append(emMsg.FromAddress); _msg.Append("\r\n"); _msg.Append("To Address = "); _msg.Append(emMsg.ToAddress); _msg.Append("\r\n"); _msg.Append("CC Address = "); _msg.Append(emMsg.CCAddress); _msg.Append("\r\n"); _msg.Append("BCC Address = "); _msg.Append(emMsg.BccAddress); _msg.Append("\r\n"); _msg.Append("Message Subject = "); _msg.Append(emMsg.MessageSubject); _msg.Append("\r\n"); _msg.Append("Message Body = "); _msg.Append(emMsg.MessageBody); _msg.Append("\r\n"); Program._messageLog.WriteLine(_msg.ToString()); //emMsg.Send(); stEmailSendResult res = emMgr.SendEmail(emMsg); _msg.Length = 0; _msg.Append("Email send result: "); _msg.Append(res.emailSendResult.ToString()); if (res.emailSendResult != enEmailSendResult.Success) { _msg.Append("\r\n"); _msg.Append("Failure reason: "); _msg.Append(res.emailFailedReason.ToString()); _msg.Append("\r\nError Messages:\r\n"); _msg.Append(res.failureMessages); } Program._messageLog.WriteLine(_msg.ToString()); } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); Program._messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("\r\n... SmtpTest finished."); Program._messageLog.WriteLine(_msg.ToString()); } }