2011-03-16 76 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服务器会默认允许这种情况。

相关问题