2013-08-06 49 views
0

你好我使用Visual C#2010,我想使用Gmail發送電子郵件,但我得到一個異常時,我嘗試在發送電子郵件:C#中發送電子郵件,會

MailMessage mail = new MailMessage(From.Text, To.Text, Subject.Text , richTextBox2.Text); 

From.TextTo.TextSubject.TextrichTextBox2.Text都是帶有裏面信息的文本框。

這裏是我使用的整個郵件段:

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("mail sent"); 

唯一的例外是:出現FormatException是Unhanded

的異常說明是:指定的字符串不是所要求的形式對於一個電子郵件地址

而我已經試過只是填充信息如下:

MailMessage mail = new MailMessage("[email protected]", "[email protected]", "hello" , body.Text); 
            //example  //example 

但我仍然得到一個異常。我究竟做錯了什麼 ?

這裏是值:

To.Text = "[email protected]"; 
     smtp.Text = "smtp.gmail.com"; 
     Password.Text = "Password"; 
     Username.Text = "staff.gerardcrafting.gmail.com"; 
     Subject.Text = textBox1.Text + "Banned" + richTextBox4.Text; 
+0

您是否在代碼中放置了斷點以確切地查看哪條線導致異常? –

+0

@KarlAnderson對不起,我做了,但我沒有把這個問題 – Gerard2202

+0

smtp.Text這是否有價值? – Ehsan

回答

1

每MSDN文檔MailMessage Constructor (String, String, String, String),當FormatException與此構造情況的原因是:

from or to is malformed.

你說,你From.Texttaff.gerardcrafting.gmail.com,這是不是一個有效的電子郵件地址,因爲它是缺少@符號。

+0

非常感謝你,我忽略了一件小事,它使我的整個應用程序都比你多得多 – Gerard2202

+0

沒問題,如果你覺得這個答案對你有幫助,那麼請upvote和/或接受答案。 –

+0

還有一件事,如果你知道如何幫助我得到一個exseption說:「SMTP服務器需要一個安全的連接或客戶端未經過身份驗證,服務器的響應是:5.5.1需要身份驗證。 EnableSsl設置爲true – Gerard2202

1

變化Username.Text簡單"gerardcrafting"輸入。