Web应用程序(asp.net核心)正在Windows服务器上运行。要发送邮件,我使用在另一台服务器(主机)上运行的邮件服务器。
我有以下代码可以发送邮件:
公共异步任务OnPostSendEmail()
{ 使用(var smtp = new SmtpClient()) {
smtp.Port = 25;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("email", "password");
smtp.Host = "host name of mail server";
var emailMessage = new MailMessage();
emailMessage.From = new MailAddress("office@mail.com");
emailMessage.To.Add("mail@mail.com");
emailMessage.Subject = "Email from customer";
emailMessage.Body = Email.Body;
await smtp.SendMailAsync(emailMessage);
}
}
获取错误: ExtendedSocketException:连接尝试失败,因为一段时间后连接方未正确响应,或者连接建立失败,因为连接的主机未能响应。 [:: ffff:83.69.230.34]:2525
正在运行邮件服务器的托管服务提供商的支持告诉我,我至少使用端口25或2525。 我必须在运行Web应用程序的生产服务器上进行设置吗?也许在防火墙中设置了某些内容?还是这是站点邮件服务器上的问题?谢谢。