2011-09-20 99 views
2

我們有一個應用程序,提示用戶使用他的LDAP用戶名和密碼登錄,從我可以得到用戶的電子郵件,但不是電子郵件密碼,我的目標是發送來自該用戶郵件的電子郵件,而不需要提示用戶輸入他的電子郵件密碼。從SMTP服務器發送郵件,無需輸入密碼

我使用下面的代碼來發送電子郵件

NetworkCredential loginInfo = new NetworkCredential("[email protected]","mypassword"); 
MailMessage msg = new MailMessage(); 
sg.From = new MailAddress("[email protected]"); 
msg.To.Add(new MailAddress("[email protected]")); 
msg.Subject = "test"; 

SmtpClient client = new SmtpClient("smtp.mydomain.com"); 
client.EnableSsl = true; 
client.UseDefaultCredentials = true; 
client.Credentials = loginInfo; 
client.Send(msg); 

IS是可以發送電子郵件沒有密碼?有些東西就像電子郵件欺騙,如果不是possilbe,是否有可能僞造它,比如從一封電子郵件發送所有電子郵件,但是使電子郵件看起來好像它來自登錄用戶的電子郵件?

謝謝

+1

這不是「回覆」字段的用途嗎? – spender

+0

不,該字段只會設置目的地電子郵件,當您嘗試回覆電子郵件 –

回答

5

這一切都取決於SMTP服務器。當您配置SMTP服務器時,您可以決定接受哪些憑據,以及它是否允許您假裝成爲別人。許多Web服務器在本地主機上都有一個內置的SMTP服務器,通常不需要任何憑證。一些ISP提供了一個SMTP服務器,允許您從其他人發送電子郵件。如果您的SMTP服務器不需要驗證,您可以簡單地刪除配置smtp客戶端安全性的3行代碼。

+0

謝謝,這很有意義,你有一個鏈接,說明如何配置一個SMTP服務器不需要驗證,再次感謝 –

+0

它真的取決於你使用的SMTP服務器,它們都是不同的 – ForbesLindesay

相關問題