@@ -15,6 +15,7 @@ class MailSender
1515 public delegate void CompletedMethodDelegate ( bool success ) ;
1616 private readonly ExceptionReportInfo _reportInfo ;
1717 private AttachAdapter _attacher ;
18+ private IExceptionReportView _view ;
1819
1920 internal MailSender ( ExceptionReportInfo reportInfo )
2021 {
@@ -24,8 +25,9 @@ internal MailSender(ExceptionReportInfo reportInfo)
2425 /// <summary>
2526 /// Send SMTP email
2627 /// </summary>
27- public void SendSmtp ( string exceptionReport , CompletedMethodDelegate setEmailCompletedState )
28+ public void SendSmtp ( string exceptionReport , IExceptionReportView view )
2829 {
30+ _view = view ;
2931 var smtpClient = new SmtpClient ( _reportInfo . SmtpServer )
3032 {
3133 DeliveryMethod = SmtpDeliveryMethod . Network ,
@@ -37,10 +39,23 @@ public void SendSmtp(string exceptionReport, CompletedMethodDelegate setEmailCom
3739
3840 var mailMessage = CreateMailMessage ( exceptionReport ) ;
3941
40- smtpClient . SendCompleted += delegate { setEmailCompletedState . Invoke ( true ) ; } ;
42+ smtpClient . SendCompleted += SmtpClient_SendCompleted ;
4143 smtpClient . SendAsync ( mailMessage , "Exception Report" ) ;
4244 }
4345
46+ private void SmtpClient_SendCompleted ( object sender , System . ComponentModel . AsyncCompletedEventArgs e )
47+ {
48+ if ( e . Error != null )
49+ {
50+ _view . SetEmailCompletedState ( true ) ;
51+ _view . ShowErrorDialog ( e . Error . Message , e . Error ) ;
52+ }
53+ else
54+ {
55+ _view . SetEmailCompletedState ( false ) ;
56+ }
57+ }
58+
4459 private MailMessage CreateMailMessage ( string exceptionReport )
4560 {
4661 var mailMessage = new MailMessage ( _reportInfo . SmtpFromAddress , _reportInfo . EmailReportAddress )
0 commit comments