加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – System.Net.Mail.SmtpFailedRecipientException:不

发布时间:2020-12-16 06:24:33 所属栏目:asp.Net 来源:网络整理
导读:我编写了ASP.Net代码,用于从domain1.com邮箱帐户发送邮件,例如abc@domain1.com.这段代码工作正常,邮件就行了.但是当在domain2.com上执行相同的代码时,即使使用正确的userid-pwd,它也会出现以下错误: System.Net.Mail.SmtpFailedRecipientException:不允许
我编写了ASP.Net代码,用于从domain1.com邮箱帐户发送邮件,例如abc@domain1.com.这段代码工作正常,邮件就行了.但是当在domain2.com上执行相同的代码时,即使使用正确的userid-pwd,它也会出现以下错误:

System.Net.Mail.SmtpFailedRecipientException:不允许使用邮箱名称.服务器响应是:抱歉,该域不在我的System.Net.Mail.SmtpClient.Send(MailMessage消息)中允许的rcpthosts(#5.7.1)列表中

有没有什么办法解决这一问题?

如果我们必须在允许的rcphosts列表中添加此域,那该怎么办呢?

编写的代码是这样的:

MailMessage message;
bool success;
message = new MailMessage(from,to);
Attachment file;
SmtpClient lclient;


lclient = new SmtpClient("mail.domain1.com",587);
lclient.EnableSsl = false;

message.Body = body;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = subject;
message.SubjectEncoding = System.Text.Encoding.UTF8;

lclient.SendCompleted += new 
SendCompletedEventHandler(SendCompletedCallback);
lclient.UseDefaultCredentials = false;
lclient.Credentials = new NetworkCredential(userID,password);
try
{

  lclient.Send(message);
  success = true;
  if (message != null)
      message.Dispose();
  success = true;
  return (success);
}
catch (Exception ex)
{  
    //...
}

谢谢

解决方法

代码工作正常.该错误是SMTP服务器的拒绝.从Domain1访问服务器似乎允许您通过它转发邮件.从Domain2访问时,它不会.更改此项将是SMTP服务器上的配置.

请注意,这是SMTP服务的常见做法.他们通常不允许任何人通过他们发送邮件到任何地址. (这会使他们对垃圾邮件发送者和其他此类不受欢迎的活动敞开大门.)因此,如果您尝试从Domain1外部访问Domain1的SMTP服务,那么可能只是拒绝这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读