没有身份验证的SmtpClient发送

时间:2012-07-30 10:20:39

标签: 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);

此代码适用于从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);

但它给了我以下错误:

  

SMTP服务器需要安全连接,否则客户端不需要   认证。服务器响应为:5.7.1不允许中继:<Here email address of To>

如何在没有身份验证的情况下发送它?

1 个答案:

答案 0 :(得分:24)

来自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.