private void EmailTesterForm_Load(object sender, EventArgs e) { cB_HTMLContent.Visible = false; TabPageExtensions.HidePage(tP_Logs); TabPageExtensions.HidePage(tP_SMTPTrace); tB_SMTPPort.Text = "25"; tB_LogPath.Text = @"smtp_trace.log"; tB_SenderName.Text = @"Test messages"; tB_SenderEMail.Text = @"*****@*****.**"; tB_Subject.Text = @"Test messages"; rTB_EmailContentBox.Text = "Hi \n This test messages, don't replay them. \n\v Best regard, \n Post office System Administrator"; try { if (File.Exists(tB_LogPath.Text)) { File.Delete(tB_LogPath.Text); } } catch { } }
private void BtSendMail_Click(object sender, EventArgs e) { try { if (File.Exists(tB_LogPath.Text)) { File.Delete(tB_LogPath.Text); } if (!(TabPageExtensions.IsVisible(tP_SMTPTrace))) { TabPageExtensions.ShowPageInTabControl(tP_SMTPTrace, tab_Logging); TabPageExtensions.ShowPageInTabControl(tP_Logs, tab_Logging); } } catch { } if (Validate_Recipient_eMail() && Validate_Sender_eMail() && Validate_SMTPServer()) { try { var message = new MimeMessage(); message.To.Add(new MailboxAddress(tB_TO.Text)); message.From.Add(new MailboxAddress(tB_SenderName.Text, tB_SenderEMail.Text)); message.Subject = tB_Subject.Text; message.Body = new TextPart("plain") { Text = rTB_EmailContentBox.Text }; using (var client = new SmtpClient(new ProtocolLogger(tB_LogPath.Text))) { #region Configure Authentication // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS) //client.ServerCertificateValidationCallback = (s, c, h, e) => true; // Note: only needed if the SMTP server requires authentication //client.Authenticate(tB_SenderName.Text, tB_SenderPassword.Text); #endregion client.Connect(tB_SMTPServer.Text, int.Parse(tB_SMTPPort.Text)); client.Send(message); client.Disconnect(true); } #region // Читаем лог и пишем в tB_SMTPTrace.Text StreamReader srRead = new StreamReader(tB_LogPath.Text); string strFileText = ""; strFileText = srRead.ReadToEnd(); srRead.Close(); tB_SMTPTrace.Text = strFileText; #endregion } catch (Exception ex) { tB_Logs.AppendText(ex.Message + " \n"); // tB_Logs.AppendText(ex.StackTrace + " \n"); } } }