2014-12-23 3 views
-5
namespace WindowsFormsAppEmailClient 
{ 
public partial class Form1 : Form 
{ 
    MailMessage MyMsg = new MailMessage(); 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 

    private void btnSend_Click(object sender, EventArgs e) 
    { 
     SmtpClient MyServer = new SmtpClient("smtp.gmail.com", 587); 

     //defining global MyMsg so we use it in attachment button 
     // MailMessage MyMsg = new MailMessage(); 

     MyMsg.From = new MailAddress( "[email protected]"); 

     MyMsg.To.Add(tbTo.Text); 

     if (tbcc.Text != "") 
     { 
      MyMsg.CC.Add(tbcc.Text); 
     } 

     MyMsg.Subject = tbSub.Text; 

     //message = body 

     MyMsg.Body = tbMsg.Text; 

     MyServer.EnableSsl = true; 

     //Credentials used for defining User Name + Password 

     MyServer.Credentials = new System.Net.NetworkCredential("[email protected]", "03456016286"); 
     MyServer.Send(MyMsg); 
    } 

    private void btnAtt_Click(object sender, EventArgs e) 
    { 
     openFileDialog1.ShowDialog(); 
     Attachment myFile = new Attachment(openFileDialog1.FileName); 

     MyMsg.Attachments.Add(myFile); 
    } 
} 
} 

Вопрос: Я хочу показать окно успешной успешной отправки электронной почты. Пожалуйста, помогитеShow Message Box

+8

Пожалуйста скажите мне, что вы Ждут» t разместите свои реальные учетные данные в коде. – itsme86

+0

Дорогой Просто мне нужно «Показать сообщение» «Успех», когда я нажимаю для отправки электронной почты –

+2

Yup, его реальный и резервный адрес электронной почты не слишком сложно понять, поэтому вы можете сейчас изменить свой пароль;) – SwDevMan81

ответ

0

на основе кода, и тот факт, что вы вывесили ваши фактические полномочия на общественном форуме, я предполагаю, что вы просто хотите синхронное решение и хотите показать окно сообщения после (блокировки) вызова MyServer.Send();

обернуть отправить в try/catch блоке:

// The program will attempt to send a message 
try 
{ 
    MySever.Send(MyMsg); 
    MessageBox.Show("Message sent successfully"); 
} 
catch (Exception ex) 
{ 
    // Whoops there was an error sending the message, better tell the user what happened. 
    MessageBox.Show(String.Format("Message Failed To send because: {0}", ex.message); 
} 

Если это не работает, то вам нужно будет добавить контекст на свой вопрос, например, любые ошибки или исключения, которые вы видите.

«Право» способ сделать это, хотя бы сделать MyServer.SendAsync(MyMsg) и затем обратного вызова прослушивания на SendCompleted события, предоставленные Вам в SMTPClient класса:

MSDN Example of Async Mail Send

+0

Спасибо Дорогой. Теперь его работа –

+0

@AsharKashif Нет проблем с медом;) Пожалуйста, отметьте мой ответ в качестве ответа, нажав зеленую галочку под кнопками «вверх-вниз». –