.NET SmtpClient发送EHLO与HELO

时间:2011-09-28 15:20:35

标签: c# .net smtp smtpclient

遇到一个特殊的问题。我有一个SMTP服务器,我需要进行身份验证才能发送邮件。我们有一个C#服务,旨在自动执行此操作,但是当客户端使用HELO与EHLO启动时,服务器主机已将SMTP服务器配置为不允许中继。当客户端使用EHLO时,允许中继。

无论如何都要保持使用SmtpClient并发送EHLO与HELO?

通过电子邮件回复来自SMTP主机提供商的HELO / EHLO中继问题:

  

“默认情况下,我们的服务器设置为对ehlo命令进行身份验证   不是。它将在本地回复来自主机和发送邮件的helo但是   不接力。“

开发人员发送的应用程序出错:

  

2011-09-14 14:32:17,764 ERROR ISearchService - 未处理的异常   在调用时被抛出   [AptitudeSolutions.OnCore.Services.ServiceAdapter.Search.SearchServiceAdapter]。   System.Net.Mail.SmtpException:SMTP服务器需要安全   连接或客户端未经过身份验证。服务器响应   是:不允许中继(在您的电子邮件上启用smtp身份验证   客户)   System.Net.Mail.RecipientCommand.CheckResponse(SmtpStatusCode   statusCode,String response)at   System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,   MailAddressCollection收件人,String deliveryNotify,   SmtpFailedRecipientException&安培;例外)   System.Net.Mail.SmtpClient.Send(MailMessage消息)at   AptitudeSolutions.OnCore.BusinessProcesses.Scenario.PublicRecordsNotification.AppServices.PublicRecordsNotificationEmailService.SendEmail(字符串   电子邮件,字符串主题,字符串正文)at   AptitudeSolutions.OnCore.BusinessProcesses.Scenario.PublicRecordsNotification.AppServices.PublicRecordsNotificationEmailService.SendNewAccountActivationEmailTo(字符串   电子邮件)   AptitudeSolutions.OnCore.BusinessProcesses.Scenario.PublicRecordsNotification.ServiceLayer.PublicRecordsNotificationServiceLayer.RequestNewAccount(NewAccountRequest   请求)   AptitudeSolutions.OnCore.Services.ServiceAdapter.Search.SearchServiceAdapter.RequestNewNotificationAccount(NewAccountRequest   请求)在SyncInvokeRequestNewNotificationAccount(对象,   Object [],Object [])at   System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象   实例,对象[]输入,对象[]&输出)   AptitudeSolutions.Framework.DataAccessBase.Utility.Wcf.ServiceAttributes.ExceptionLoggingOperationInvoker.Invoke(对象   实例,对象[]输入,对象[]&输出)

配置文件的相关部分:

  <system.net>
       <mailSettings>
         <smtp from="email@host.com">
              <network host="mail.smtphost.com" port="25" userName="username" password="password" defaultCredentials="false" />
         </smtp>
       </mailSettings>
  </system.net>

出于安全考虑,已对某些信息进行了编辑。

0 个答案:

没有答案