Asp.net mvc 使用SMTP发送电子邮件时出错&;exchange server office365.com
我正在尝试使用SMTP通过exchange server(即outlook设置中的outlook.office365.com)从控制器(MVC4)发送电子邮件,但未能成功。我从以前的许多帖子中尝试了解决方案,但没有得到任何线索。我真诚地感谢你们的帮助。。 以下是我的邮件配置:Asp.net mvc 使用SMTP发送电子邮件时出错&;exchange server office365.com,asp.net-mvc,asp.net-mvc-4,email,smtp,smtpclient,Asp.net Mvc,Asp.net Mvc 4,Email,Smtp,Smtpclient,我正在尝试使用SMTP通过exchange server(即outlook设置中的outlook.office365.com)从控制器(MVC4)发送电子邮件,但未能成功。我从以前的许多帖子中尝试了解决方案,但没有得到任何线索。我真诚地感谢你们的帮助。。 以下是我的邮件配置: <system.net> <mailSettings> <smtp> <network host="smtp.office365.com" us
<system.net>
<mailSettings>
<smtp>
<network host="smtp.office365.com" userName="no-reply@mydomain.com" password="defaultPassword"/>
</smtp>
</mailSettings>
</system.net>
这是我的电子邮件课程:
公共类电子邮件
{
公共电子邮件(){}
私有字符串发送方{get;set;}
私有列表收件人{get;set;}
私有字符串主题{get;set;}
私有字符串体{get;set;}
公共bool sendmail()
{
尝试
{
var smptClient=new SmtpClient{EnableSsl=true};
MailMessage newEmail=新邮件();
foreach(此.Recipients中的var receipent)
newEmail.To.Add(新邮件地址(收件人));
newEmail.From=新邮件地址(this.Sender);
newEmail.Subject=this.Subject;
newEmail.Body=this.Body;
newEmail.IsBodyHtml=false;
smptClient.Send(新邮件);
返回true;
}
catch{return false;}
}
}
在上面的代码中,如果我使用“EnableSsl=true”,我会得到错误“服务器不支持安全连接”。如果禁用ssl,仍然会出现以下错误:
SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.57 SMTP;客户端未通过身份验证,无法在从发送邮件期间发送匿名邮件。最后,我将解决与我们拥有的域相关的问题。
use this piece of code:
MailMessage msg = new MailMessage();
msg.To.Add(new MailAddress("someone@somedomain.com", "SomeOne"));
msg.From = new MailAddress("you@yourdomain.com", "You");
msg.Subject = "This is a Test Mail";
msg.Body = "This is a test message using Exchange OnLine";
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("your user name", "your password");
client.Port = 25; // give 587 if 25 is blocked
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
try
{
client.Send(msg);
lblText.Text = "Message Sent Succesfully";
}
catch (Exception ex)
{
lblText.Text = ex.ToString();
}
对于面临类似问题的人,以下是我如何解决的。以下是我的电子邮件设置:
<network host="smtp.office365.com" userName="no-reply@mydomain.com" password="defaultPassword"/>
如果您在域中,则您的用户名必须在用户名中提及域,即否-reply@domain.mydomain.com和砰的一声:)
干杯 最后,我将解决与我们拥有的域相关的问题。 对于面临类似问题的人,以下是我如何解决的。以下是我的电子邮件设置:
<network host="smtp.office365.com" userName="no-reply@mydomain.com" password="defaultPassword"/>
如果您在域中,则您的用户名必须在用户名中提及域,即否-reply@domain.mydomain.com和砰的一声:)
干杯 谢谢,不过我已经试过了。它会导致与我在问题中提到的相同的错误检查您使用的端口号。可能是您的端口被阻塞以前我使用了端口25,但出现错误“服务器不支持安全连接”。启用SSL后,我使用了端口587,但仍然无法工作。谢谢,但我已经尝试过了。它会导致与我在问题中提到的相同的错误检查您使用的端口号。可能是您的端口被阻塞以前我使用了端口25,但出现错误“服务器不支持安全连接”。启用SSL后,我使用了端口587,但仍然无法工作