【问题标题】:Send mail from Exchange Server从 Exchange Server 发送邮件
【发布时间】:2017-02-09 19:45:08
【问题描述】:

我想在没有密码的情况下从 Exchange 服务器发送邮件。我使用以下代码 sn-p :

MailMessage msg = new MailMessage();
msg.From = new MailAddress("kavitham@test.com");
msg.To.Add(new MailAddress("kavitham@sample.com"));
msg.Subject = "Reg : Mail test";
msg.IsBodyHtml = true;
msg.Body = "<html><body>" + strMsg +  "</body></html>";
SmtpClient client = new SmtpClient("IP of Server", 25);
client.Host = "IP of Server";
client.Send(msg);

但是邮件没有发送。是否需要对 Exchange 服务器进行任何其他设置?

【问题讨论】:

  • 你返回的错误信息是什么?
  • 我没有收到任何错误信息。
  • 所以它发送好吗?那么是什么让你认为它不起作用?如果您没有收到它,可能是垃圾邮件过滤器在途中阻止了它,或者您的交换服务器出于任何原因没有释放它。如果您没有收到错误,那么 .Net 部分可能没问题
  • 如果 smtp 拒绝发送电子邮件,您的应用程序会生成一个异常,说明失败的原因。您使用的是什么日志记录?你捕捉并处理异常了吗?
  • @KaviSuja:那么如果你不能调试它,你怎么知道没有错误呢?您需要处理错误并将其写入文件。然后对其进行测试并查看日志文件中的错误。它会告诉你出了什么问题

标签: c# .net smtp exchange-server


【解决方案1】:

添加这个

smtpClient.Credentials = System.Net.CredentialCache.DefaultCredentials;

【讨论】:

    【解决方案2】:
     MailMessage msg = new MailMessage("noreply@test.com", "manager@test.com", "Notification For Lead / Admin ",
                 "Emp Name :" + EmpName);
                msg.Body = "Emp Name : " + EmpName + "<br /><br >" + Environment.NewLine + timsheetMail;             
    
                msg.IsBodyHtml = true;
    
            msg.CC.Add(toMail); msg.CC.Add(admin);
                SmtpClient SMTPServer = new SmtpClient("mail.myserver.com", 25);
                SMTPServer.Timeout = 300000;
                SMTPServer.EnableSsl = false;
                SMTPServer.Credentials = new System.Net.NetworkCredential("noreply@test.com", "passw0rd");
                SMTPServer.Send(mailObj);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-12
      • 2011-06-08
      • 2014-09-14
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 2017-12-18
      • 2013-06-05
      相关资源
      最近更新 更多