使用无凭据C#发送邮件

时间:2015-08-05 14:15:47

标签: c# .net email smtp sendmail

大家。 我需要使用C#发送无回复邮件。网络管理员告诉我,SMTP服务器配置为发送此类邮件(使用任何没有密码的帐户)。我试过这个:

sidekiq

我尝试过没有凭据,使用空字符串作为密码,但似乎没有任何效果。

我忘记了任何特殊参数或配置吗?

3 个答案:

答案 0 :(得分:3)

我认为在端口25上提供用户名和使用SSL的组合意味着尝试了身份验证但是失败并且尝试了错误的协议协商。如果您更改代码,则会发生以下情况?

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient();
mail.To.Add(email);
mail.From = new MailAddress("mail@domain.com");
mail.Subject = subject;
mail.IsBodyHtml = true;
mail.Body = message;
SmtpServer.Host = "smtpserver";
SmtpServer.Port = 25;
SmtpServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
try {
    SmtpServer.Send(mail);
}
catch (Exception ex) {
    Debug.WriteLine("Exception Message: " + ex.Message);
    if (ex.InnerException != null)
        Debug.WriteLine("Exception Inner:   " + ex.InnerException);
}

我在这里假设您尝试使用的服务器支持邮件中继而无需身份验证,这应该排除互联网上任何理智的配置。

答案 1 :(得分:0)

尝试删除此行以查看更改后收到的错误:

SmtpServer.Credentials = credencials;

尽量减少您设置的属性数量。我认为你需要的最小值是实例化smtpclient和mailmessage。

最小

 SmtpClient smtp = new SmtpClient("smtpserver");
    MailMessage mail = new MailMessage();

设置:     mail.To     mail.From     mail.Subject     mail.Body

smtp.Send(mail);

答案 2 :(得分:0)

如果您将代码放在Request.query&amp; <div class="overlay"> <iframe src="https://player.vimeo.com/video/134945180? api=1&player_id=video" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen id="video"></iframe> <div class="playpause start"></div> 阻止,这样你可以看到是否抛出任何异常。 (试图发表评论,没有足够的声誉,我的道歉)