ASP.NET:发送邮件
我试图从asp.net脚本发送邮件,但收到以下错误: System.Net.Mail.SmtpFailedRecipientException:邮箱不可用。服务器响应为:4.1.8:发件人地址被拒绝:在System.Net.Mail.SmtpTransport.SendMail(邮件地址发件人、邮件地址收集收件人、字符串deliveryNotify、SmtpFailedRecipientException和exception)的System.Net.Mail.SmtpClient.Send(邮件消息)中找不到域,请在Clematis\u ADO.sites.Kvittering.Page\u加载(对象发送方,事件参数) 据我所知,它不能使用我指定的smtp服务器,但我使用的是我的网络主机提供的smtp服务器。那么,可能是什么错误呢 这是在webhost而不是localhost上测试的 我用的代码是:ASP.NET:发送邮件,asp.net,Asp.net,我试图从asp.net脚本发送邮件,但收到以下错误: System.Net.Mail.SmtpFailedRecipientException:邮箱不可用。服务器响应为:4.1.8:发件人地址被拒绝:在System.Net.Mail.SmtpTransport.SendMail(邮件地址发件人、邮件地址收集收件人、字符串deliveryNotify、SmtpFailedRecipientException和exception)的System.Net.Mail.SmtpClient.Send(邮件
try
{
StringWriter sw = new StringWriter();
HtmlTextWriter w = new HtmlTextWriter(sw);
OrderConfirmationContainer.RenderControl(w);
string s = sw.GetStringBuilder().ToString();
MailMessage mail = new MailMessage();
string emailSubject = "Testing";
mail.To.Add(new MailAddress(order.getFname() + " " + order.getLname() + "<"+order.getEmail()+">"));
mail.Sender = new MailAddress("****** <***@***.com>");
mail.From = new MailAddress("***@***.com");
mail.Subject = emailSubject;
mail.IsBodyHtml = true;
mail.Body = "<h3>" + emailSubject + "</h3>" + s;
SmtpClient smtp = new SmtpClient();
smtp.Host = "mailoutb1.surf-town.net";
smtp.Send(mail);
}
catch (Exception exception)
{
if(exception != null)
MailLabel.Text = "Mail fejlen er: " + exception.ToString();
}
试试看
{
StringWriter sw=新的StringWriter();
HtmlTextWriter w=新的HtmlTextWriter(sw);
OrderConfirmationContainer.RenderControl(w);
字符串s=sw.GetStringBuilder().ToString();
MailMessage mail=新的MailMessage();
字符串emailSubject=“测试”;
mail.To.Add(新邮件地址(order.getFname()+“”+order.getLname()+“”);
mail.Sender=新邮件地址(“*******”);
mail.From=新邮件地址(“***@***.com”);
mail.Subject=emailSubject;
mail.IsBodyHtml=true;
mail.Body=”“+emailSubject+“”+s;
SmtpClient smtp=新SmtpClient();
smtp.Host=“mailoutb1.surf town.net”;
smtp.发送(邮件);
}
捕获(异常)
{
if(异常!=null)
maillable.Text=“Mail fejlen er:”+exception.ToString();
}
我知道一些Web主机锁定其smtp服务器,仅当“发件人”是域中的有效邮箱时才允许发送邮件。您的mail.sender值是有效邮箱吗?我知道一些Web主机锁定其smtp服务器,仅当“发件人”为有效邮箱时才允许发送邮件是域中的有效邮箱。您的mail.sender值是有效邮箱吗?您收到的错误似乎是因为SMTP服务器实际上拒绝了电子邮件,因为您尝试发送到或来自的域名错误或被列入黑名单
您使用的是假的电子邮件地址还是真实的电子邮件地址(请告诉我您并不是真的想向****@****.com发送电子邮件)?如果是真的,您可能需要打电话给您的ISP,查看他们使用的是什么黑名单,并查看您尝试发送到的域是否被列入黑名单。您收到的错误似乎是因为SMTP服务器实际上拒绝了电子邮件,因为您尝试发送到或从中发送的域名要么错误,要么被列入黑名单。
您使用的是假的电子邮件地址还是真实的电子邮件地址(请告诉我您并不是真的想向****@****.com发送电子邮件)?如果是真的,你可能需要打电话给你的ISP,看看他们使用的是什么黑名单,看看你试图发送到的域名是否被列入黑名单。如果你想同时提供地址和显示名,那么就更容易使用,而不是自己将两者结合起来
mail.To.Add(new MailAddress( order.getEmail(), order.getFname() + " " + order.getLname()));
我知道这并不能解决您的问题,但我想我会提到这一点。如果您想同时提供地址和显示名,则更容易使用,而不是将两者结合起来
mail.To.Add(new MailAddress( order.getEmail(), order.getFname() + " " + order.getLname()));
我知道这并不能解决你的问题,但我想我会提到它。一点必要的背景知识: SMTP服务器按设计“中继”邮件,即您将邮件发送到SMTP服务器,它会查看其是否为“本地”收件人,如果不是,则将其转发到另一台服务器以进行传递(由MX记录等确定) 不幸的是,这使得(精心制作的)垃圾邮件发送者的工作变得容易,因此现在SMTP服务器往往被锁定,因此必须满足以下条件之一:
SmtpClient中似乎存在设置凭据的范围,但我认为这不是必需的,因此在详细信息方面没有太多帮助。一些必要的背景: SMTP服务器按设计“中继”邮件,即您将邮件发送到SMTP服务器,它会查看其是否为“本地”收件人,如果不是,则将其转发到另一台服务器以进行传递(由MX记录等确定) 不幸的是,这使得(精心制作的)垃圾邮件发送者的工作变得容易,因此现在SMTP服务器往往被锁定,因此必须满足以下条件之一: