2011-03-16 73 views
0

我想在C#中使用SMTP客戶端發送電子郵件。目前我使用此代碼:使用網絡憑據發送電子郵件無法使用

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); 
message.To.Add("receiver"); 
message.Subject = ""; 
message.From = new System.Net.Mail.MailAddress("sender"); 
message.Body = "This is a test mail"; 
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com"); 
smtp.Credentials = new System.Net.NetworkCredential("username", "password"); 
smtp.Port = 587; 
smtp.EnableSsl = true; 
smtp.Send(message); 

但我想通過只提供發件人地址使用的用戶名和密碼發送出去的郵件。這在C#中可能嗎? 這可能與任何SMTP服務器(不是谷歌)。我的意思是匿名登錄到服務器,並提供您的郵件地址。

回答

3

否。Gmail不允許匿名發件人。值得慶幸的。 如果任何人都可以假裝從其他人發送電子郵件,則將gmail渲染爲一個大垃圾郵件引擎。

+0

這是可能的任何SMTP服務器。我的意思是登錄到服務器匿名,只提供您的郵箱地址。 – 2011-03-16 12:53:57

+0

@ Zain,當然是。如果你控制郵件服務器的確很有可能。 – 2011-03-16 12:54:47

+0

嘿,「謝天謝地」。確實是的! – squillman 2011-03-16 12:55:10

1

這取決於您的服務器。在您的代碼中,您使用的是Gmail,而Gmail需要這樣做。

您可以設置自己的SMTP服務器。

1

如果您的應用程序與IIS位於同一臺服務器上,則IIS中的SMTP服務器會默認允許這種情況。

相關問題