错在哪里?(在asp.net中发送电子邮件)
我使用以下代码在asp.net中发送电子邮件: 使用System.Net.Mail错在哪里?(在asp.net中发送电子邮件),asp.net,email,dns,smtpclient,Asp.net,Email,Dns,Smtpclient,我使用以下代码在asp.net中发送电子邮件: 使用System.Net.Mail public string SendEmail() { SmtpClient obj = new SmtpClient(); MailMessage Mailmsg = new MailMessage(); Mailmsg.To.Clear(); Recievers = new MailAddressCollection(); Recievers.Add(txtToAdd
public string SendEmail()
{
SmtpClient obj = new SmtpClient();
MailMessage Mailmsg = new MailMessage();
Mailmsg.To.Clear();
Recievers = new MailAddressCollection();
Recievers.Add(txtToAddress.Text);
SenderName = "Info";
SenderEmail = txtFromAddress.Text;
Subject = "subj";
Body = "body";
UseBcc = false;
if (UseBcc)
{
foreach (MailAddress RecieverItem in Recievers)
{
Mailmsg.Bcc.Add(RecieverItem);
}
}
else
{
foreach (MailAddress RecieverItem in Recievers)
{
Mailmsg.To.Add(RecieverItem);
}
}
Mailmsg.From = new MailAddress(SenderEmail, SenderName, System.Text.Encoding.UTF8);
Mailmsg.Subject = Subject;
Mailmsg.SubjectEncoding = Encoding.UTF8;
Mailmsg.BodyEncoding = System.Text.Encoding.UTF8;
Mailmsg.IsBodyHtml = false;
obj.Host = mail.domain.com;
System.Net.NetworkCredential BasicAuthenticationInfo = new System.Net.NetworkCredential("info@domain.com", "password");
obj.UseDefaultCredentials = false;
obj.Credentials = BasicAuthenticationInfo;
Mailmsg.Body = Body;
Mailmsg.IsBodyHtml = true;
try
{
obj.Send(Mailmsg);
return "sent";
}
catch (Exception ex)
{
return ex.ToString();
}
}
它正确地向我的域中定义的接收者发送电子邮件(如mail@domain.com),但我无法向其他邮件服务器发送电子邮件(如mail@yahoo.com)
我的代码有什么问题
(可能与SmtpClient属性有关吗?我已将SmtpClient.host设置为mail.mydomain.com
并使用在我的域中定义的我的一个邮件帐户的用户名和密码)
谢谢它一定与您的exchange服务器有关。exchange中有一些传输规则,定义了如何与外部世界通信 向外部网络发送电子邮件时,您一定遇到了一些异常
System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: 5.1.1 User unknown
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
如果这是您收到的错误,则表示您的exchange不支持直接向外部网络发送电子邮件。由于我不是MS exchange专家,但我一直在使用网络中配置的exchange服务器,该服务器无法向外部网络发送电子邮件,但我们可以将电子邮件转发给联系人
也许这对你有帮助
另外,我建议您在上共享此问题,它一定与您的exchange服务器有关。exchange中有一些传输规则,定义了如何与外部世界通信 向外部网络发送电子邮件时,您一定遇到了一些异常
System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: 5.1.1 User unknown
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
如果这是您收到的错误,则表示您的exchange不支持直接向外部网络发送电子邮件。由于我不是MS exchange专家,但我一直在使用网络中配置的exchange服务器,该服务器无法向外部网络发送电子邮件,但我们可以将电子邮件转发给联系人
也许这对你有帮助
此外,我建议您在上共享此问题,它是否引发任何异常?您是否与SMTP服务器管理员进行了检查(他们是否在SMTP服务器上阻止了您的程序以防止将其发送到外部?)是,异常为:System.Net.Mail.SmtpFailedRecipientException:邮箱不可用。服务器的响应是:System.Net.Mail.SmtpTransport.SendMail(MailAddress发件人、MailAddressCollection收件人、String deliveryNotify、SmtpFailedRecipientException和exception)的System.Net.Mail.SmtpClient.Send(MailMessage message)的默认值为.SendMail()处没有这样的用户。您可以检查属性“FailedRecipient”在异常SmtpFailedRecipientException上。您确定这是正确的收件人地址吗?SmtpFailedRecipientException.FailedRecipient为空@EIMa:确保您收到的发件人电子邮件格式是否正确:txtFromAddress.Text。它是否引发任何异常?您是否与SMTP服务器管理员进行了检查(他们是否在SMTP服务器上阻止了您的程序以防止将其发送到外部?)是,异常为:System.Net.Mail.SmtpFailedRecipientException:邮箱不可用。服务器的响应是:System.Net.Mail.SmtpTransport.SendMail(MailAddress发件人、MailAddressCollection收件人、String deliveryNotify、SmtpFailedRecipientException和exception)的System.Net.Mail.SmtpClient.Send(MailMessage message)的默认值为.SendMail()处没有这样的用户。您可以检查属性“FailedRecipient”在异常SmtpFailedRecipientException上。您确定这是正确的收件人地址吗?SmtpFailedRecipientException.FailedRecipient为空@EIMa:确保您收到的发件人电子邮件格式是否正确:txtFromAddress.Text。是的,我只想说,发送到其他域的电子邮件可能会被您的exchange服务器阻止。请检查我的回答我添加了一些更详细的信息EA,我只想说,发送到其他域的电子邮件可能会被您的exchange服务器阻止..请检查我的回答我添加了一些详细信息