2016-03-26 5 views
0

送信ボタン、リッチテキストボックス、ユーザー名とパスワード、送信元と受信者のテキストボックスを含むフォームを作成しました。ユーザーが電子メールまたはGmailを送信するためのフォームを作成する

これは送信ボタンのコードですが、残念ながらテキストボックスに入力して送信ボタンをクリックするとプログラムは終了します。

private void btnSend_Click(object sender, EventArgs e) 
{ 
    MailMessage mail = new MailMessage(from.Text, to.Text, Subject.Text, body.Text); 
     // SmtoServer = smtp.company.com; Ex: Gmail . smtp.gmail.com | yahoo - smtp.yahoo.com 
     SmtpClient client = new SmtpClient(smtp.Text); 
     client.Port = 587; 
     client.Credentials = new System.Net.NetworkCredential(username.Text,password.Text); 
     client.EnableSsl = true; 
     client.Send(mail); 
     MessageBox.Show("Your mail has been sent!\n Thanks for your email", 
         "Success", MessageBoxButtons.OK); 

} 

アップデート私が試した あなたが言ったと私はすでにYouTubeのビデオを見たが、コンパイラは、9行目で私にエラーを表示するものは何でも:

client.Send(mail); 

と、これは誤りです:

System.dllで 'System.Net.Mail.SmtpException'の未処理の例外が発生しました

追加情報:SMTPサーバーには安全な接続が必要です。または、クライアントが認証されていません。サーバーの応答は、5.5.1認証が必要でした。

+1

あなたがこの問題に関連するコードの残りの部分を含める必要があります。 –

+0

まず、エラーチェックを追加します。 [送信呼び出しを処理するエラーについてはこちらを参照してください](https://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage%28v=vs.110%29.aspx)!それでも問題がどの行にあるのかを確認するために、デバッガでコードをステップスルーしていれば - 私のデータでコードを試してみましたが、うまくいきます。 – TaW

+0

1)例外をスローするのではなく、プログラムが正しく動作するように、__error handling__を追加するのがよいでしょう。あなたはどんな場合でもそれを必要とします! 2)[この投稿]の__all__を調べてください(http://stackoverflow.com/questions/20906077/gmail-error-the-smtp-server-requires-a-secure-connection-or-the-client-was-そうではない)、受け入れられた答えだけを__not__してください! – TaW

答えて

関連する問題