我使用office 365 smtp在我的应用程序中发送电子邮件。在Visual Studio中进行调试时,它正在本地系统中工作并收到电子邮件。但是当在服务器中托管到iis时,电子邮件没有收到,没有显示错误。
这是我在web config中的smtp设置
<system.net>
<mailSettings>
<smtp from="myOffice365account">
<network host="smtp.office365.com" port="587" password="myPassword" userName="myOffice365account" defaultCredentials="false" enableSsl="true" />
</smtp>
</mailSettings>
</system.net>
这是发送电子邮件的代码
public bool SendMail(string[] to, string subject, string body,Attachment attachement=null)
{
MailMessage mail = new MailMessage();
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
mail.BodyEncoding = Encoding.UTF8;
mail.SubjectEncoding = System.Text.Encoding.Default;
mail.From = new MailAddress(ConfigurationManager.AppSettings["Email_FromAddress"]);
if (attachement !=null)
{
mail.Attachments.Add(attachement);
}
mail.To.Add(string.Join(",", to));
SmtpClient mailClient = new SmtpClient();
mailClient.Send(mail);
return true;
}
在iis托管应用程序中单击发送按钮后,成功消息没有出错,但邮件没有到达。端口587已经打开。
服务器或代码中是否还有其他设置。
提前致谢。