没有身份验证的SmtpClient发送

him*_*056 9 c# asp.net email authentication smtpclient

我正在通过Java向我们的客户发送电子邮件.并且我们的SMTP没有任何身份验证.所以我在Java中使用以下代码来发送它而不需要身份验证:

Properties props = new Properties();
Session session;
props.put("mail.smtp.auth", "false");
session = Session.getInstance(props, null);
Run Code Online (Sandbox Code Playgroud)

此代码适用于从Java发送电子邮件.但我想使用ASP.NET和C#发送电子邮件.但是我无法发送它.要使用C#发送它,我使用以下代码:

SmtpClient smtp = new SmtpClient();
smtp.Host = "<My smtp.Host>";
smtp.EnableSsl = false;
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Send(message);
Run Code Online (Sandbox Code Playgroud)

但它给了我以下错误:

SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.7.1不允许中继:<Here email address of To>

没有认证怎么发送?

Dav*_*son 25

来自Msdn. If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously.

  • 然后您的服务器不允许中继,这意味着只有本地服务器可以发送邮件,或者只有已知用户才能发送邮件。 (2认同)