不使用网络凭据发送电子邮件

发布于 2024-10-22 13:47:28 字数 608 浏览 6 评论 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 服务器(不是谷歌)都可能吗?我的意思是匿名登录服务器并仅提供您的邮件地址。

I want to send email using the SMTP client in C#. Currently I am using this code:

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);

But I want to send mail with out using username and password by just providing the sender address. Is this possible in C#?
Is this possible with any SMTP server(Not google). I mean login to server anonymously and just provide your mail address.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

咿呀咿呀哟 2024-10-29 13:47:28

不可以。Gmail 不允许匿名发件人。值得庆幸的是。
如果可能的话,任何人都可以假装发送其他人的电子邮件,将 Gmail 变成一个大型垃圾邮件引擎。

No. Gmail does not allow anonymous senders. Thankfully.
If it was possible anyone could pretend to send emails from everyone else, rendering gmail as one big spam engine.

清音悠歌 2024-10-29 13:47:28

如果您的应用程序与 IIS 位于同一服务器上,则 IIS 中的 SMTP 服务器默认允许这样做。

The SMTP server in IIS allows this per default if your application is on the same server as IIS.

埋情葬爱 2024-10-29 13:47:28

这取决于您的服务器。在您的代码中,您使用的是 Gmail,而 Gmail 需要这样做。

您可以设置自己的 SMTP 服务器。

It depends on your server. In your code you are using Gmail and Gmail requires this.

You can set up your own SMTP server.

哥,最终变帅啦 2024-10-29 13:47:28

最后,如果服务器需要的话,您必须发送凭据。

如果您正在寻找的话,您可以发送当前安全上下文的凭据。请参阅:http://msdn.microsoft.com/en -us/library/system.net.credentialcache.defaultnetworkcredentials.aspx

In the end you'll have to send credentials if the server demands them.

You could send the credentials of the current security context if that's what you're looking for. See: http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultnetworkcredentials.aspx.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文