2012-01-21 89 views
3

嗨我想發送密碼驗證給我的用戶使用C#,我希望保護我的郵箱得到垃圾郵件。我怎麼做?發送匿名電子郵件C#

一直在努力這一點,它不工作:

 SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587); 
     smtpClient.EnableSsl = true; 

     smtpClient.Timeout = 10000; 
     smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
     smtpClient.UseDefaultCredentials = false; 
     smtpClient.Credentials = new NetworkCredential("login", "password"); 

     MailMessage mailMsg = new MailMessage(); 
     mailMsg.From = new MailAddress("[email protected]"); 
     mailMsg.To.Add("user"); 
     mailMsg.CC.Add("[email protected]"); 
     mailMsg.Bcc.Add("[email protected]"); 
     mailMsg.Subject = "Subject"; 
     mailMsg.Body = "BodyOfTheMailString"; 
     smtpClient.Send(mailMsg); 
     Console.WriteLine("Mail sent"); 

用戶我發送此郵件給,讓我的Gmail帳戶作爲發件人

+0

您可以選擇您想要的任何發件人電子郵件 – Magnus

+1

使用您自己的SMTP服務器。 –

+0

你不需要匿名電子郵件只是爲了避免垃圾郵件。 – CodesInChaos

回答

7

這不是C#的任務,既不是您的消息的主體:它的郵箱配置。

如果這僅用於電子郵件驗證,則可以隨時創建一封新電子郵件,例如「[email protected]」或「[email protected]」,以發送這些驗證郵件,然後將此郵箱設置爲忽略傳入郵件。

此外,如果您嘗試使用未註冊到服務器的電子郵件發送郵件,服務器可能會拒絕您的請求。

3

UPDATE:

你應該開始有提到你正在使用Gmail的smtp。爲了防止人們發送垃圾郵件,無論您在From屬性中寫入什麼內容,gmail都會始終設置爲您的電子郵件地址。

將MailMessage上的發件人地址設置爲「[email protected]」。

 MailMessage mailMsg = new MailMessage(); 
     mailMsg .From = "[email protected]"; 
     mailMsg .To = "[email protected]"; 
     mailMsg .Cc = "[email protected]""; 
     mailMsg .Bcc = "[email protected]"; 
     mailMsg .Subject = "Subject"; 
     mailMsg .Body = "BodyOfTheMailString"; 
     SmtpMail.Send(mailMsg); 
+0

如果這不起作用,答案可能是配置您的SMTP服務器以正確表現「noreply」用戶。取決於你的設置。 –

+0

不工作檢查我的編輯 –

+0

你會得到一個異常或它不工作? – KMan