【问题标题】:SmtpClient sending without authenticationSmtpClient 发送没有认证
【发布时间】:2012-07-28 00:07:11
【问题描述】:

我正在通过 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 不允许中继:&lt;Here email address of To&gt;

不认证如何发送?

【问题讨论】:

    标签: c# asp.net email authentication smtpclient


    【解决方案1】:

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

    【讨论】:

    • 我不明白。我应该设置哪个属性来发送它而不进行身份验证?
    • 你完全删除smtp.Credentials = ...,并将UseDefaultCredentials设置为false。
    • 那么你的服务器不允许中继,这意味着只有本地服务器可以发送邮件,或者只有一个已知的用户。
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2013-12-04
    相关资源
    最近更新 更多