2014-09-01 72 views
1

誰能幫我修正這個錯誤?我基本上試圖讓個人電子郵件客戶端更熟悉該語言,但我似乎無法找到如何解決該問題。這是代碼。對象引用需要非靜態字段,方法或屬性System.Net.Mail.SmtpClient.EnableSsl.get

private void fusionButton1_Click(object sender, EventArgs e) 
    { 
     String One = textBox1.Text; 
     String Two = textBox2.Text; 
     String Three = textBox3.Text; 
     String Four = textBox4.Text; 
     MailMessage message = new MailMessage(); 
     message.From = new MailAddress("[email protected]"); 
     message.To.Add(new MailAddress(String.Copy(Four))); 
     message.Subject = String.Copy(Three); 
     message.Body = String.Copy(One); String.Copy(Two); 

     SmtpClient client = new SmtpClient("smtp.gmail.com", 587); 
     client.Send(message); 
     NetworkCredential netCre = new NetworkCredential("[email protected]", "Pass"); 
     client.UseDefaultCredentials = false; 
     SmtpClient.EnableSsl = true; 

回答

1

使用此行:

client.EnableSsl = true; 

,而不是這樣的:

SmtpClient.EnableSsl = true; 

你引用非靜態屬性EnableSsl靜態。

注意

你並不需要使用String.Copy

message.Subject = String.Copy(Three); 

你可以直接使用此:

message.Subject = textBox3.Text; 
message.Body = textBox1.Text + " " + textBox2.Text; 

試試這個代碼:

private void fusionButton1_Click(object sender, EventArgs e) 
{  
    MailMessage message = new MailMessage(); 
    message.From = new MailAddress("[email protected]"); 
    message.To.Add(new MailAddress(textBox4.Text)); 
    message.Subject = textBox3.Text; 
    message.Body = textBox1.Text + " " + textBox2.Text; 

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587);  
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    client.UseDefaultCredentials = false; 
    client.Credentials = new NetworkCredential("[email protected]", "Pass");   
    client.EnableSsl = true; 
    client.Send(message); 
} 
+0

這工作,但現在它說:「類型‘System.Net.Mail.SmtpException’未處理的異常在System.dll中發生 附加信息:SMTP服務器要求安全連接或客戶端未通過身份驗證。服務器響應是:5.7.0必須首先發出STARTTLS命令。 f65sm3327693yhp.14 - 。gsmtp」 對任何想法 – 2014-09-01 01:53:50

+0

感謝您的幫助它現在我要檢查一下,看看是否我可以告訴在那裏我搞砸了,並在那裏這個固定感謝所有的。 。您的幫助 – 2014-09-01 03:06:17

+0

歡迎郵件正文,你總是可以格式的電子郵件內容例如,你可以使用HTML標籤格式化,比如'message.Body = textBox1.Text +「

」 + textBox2.Text;'它會顯示兩個換行符,探索它,你也可以將其標記爲答案。 – Hassan 2014-09-01 03:10:59

相關問題