【问题标题】:SMTP Email Works locally but not on DevopsSMTP 电子邮件在本地工作,但不适用于 Devops
【发布时间】:2019-10-23 08:22:27
【问题描述】:

我有一个带有帐户控制器的 ASP.Net 核心项目,用于处理用户配置文件的登录和帐户功能。在这个控制器中,如果用户通过 SMTP 忘记密码,我可以处理电子邮件。

[HttpPost, Route("resetPasswordLink"), AllowAnonymous]
public async Task<IActionResult> sendResetPasswordLink([Required] string email)
{
    var dbUser = await UserManager.FindByNameAsync(email);
    if (dbUser != null)
    {
        var someURL = 'My URL Here'
        var token = await UserManager.GeneratePasswordResetTokenAsync(dbUser);
        var fromAddress = ConfigurationManager.AppSettings["SMTPFromAddress"];
        var mailServer = ConfigurationManager.AppSettings["SMTPServer"];

        var mail = new MailMessage();

        mail.From = new MailAddress(fromAddress);
        mail.To.Add(email);

        mail.Subject = "Password Reset";
        mail.IsBodyHtml = true;
        mail.Body += "<p>You have requested to change your password</p>";
        mail.Body += "<p></p>";
        mail.Body += "<p>You can reset your password by clicking <a href="+someURL+"/passwordReset/"+token+">here</a></p>";

        var smtp = new SmtpClient();
        smtp.Host = mailServer;
        try
        {
            smtp.Send(mail);
            return Ok("Email Sent");
        } catch(Exception ex)
        {
            return BadRequest("Email generated but failed to send " + ex);
        }
    } else
    {
        return BadRequest("Failed to send link");
    }
}

我的 app.config 包含我的 SMPTP 配置。当它在本地运行时,代码工作得非常好,并且电子邮件被发送到系统上的现有电子邮件。但是,当它发布到 Azure Devops 时,我收到此错误:

System.Net.Mail.SmtpException:发送邮件失败。 ---> System.Net.Sockets.SocketException: 没有这样的主机是已知的

我认为这与在外部机器上托管 .NET 代码的 Devops 有关。有谁知道如何解决这个问题?

【问题讨论】:

  • 您检查过SMTPServer的已部署配置值吗?
  • @MarkusMeyer,部署时看起来值没有变化
  • 好吧,我认为这是网络问题。外部网络与内部网络。防火墙规则,...
  • @MarkusMeyer 我怀疑...谢谢
  • @MarkusMeyer 如果您想留下关于它是网络问题的答案,我可以将其标记为已接受。我们决定现在改用 office 365 smtp

标签: c# asp.net azure-devops smtp devops


【解决方案1】:

配置值设置正确。

这可能是网络问题:

  • 防火墙设置
  • 内部网络(SMTP 服务器)与外部网络(应用程序)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-11
    • 2013-12-01
    • 2013-07-28
    • 2020-11-11
    • 2015-06-13
    • 2011-07-18
    • 1970-01-01
    • 2018-01-09
    相关资源
    最近更新 更多