2011-09-20 1653 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

相关问题