【问题标题】:Dot net core console application uses Mailkit does not send emails when deployed as azure web job点网核心控制台应用程序使用 Mailkit 部署为 azure web 作业时不发送电子邮件
【发布时间】:2018-01-08 16:53:09
【问题描述】:

我正在使用“Mailkit”从 dot net core 控制台应用程序(使用 smtp)发送电子邮件。当我在本地机器上运行应用程序并收到电子邮件时,它可以工作。

但是,当我部署为 azure webjob 时,它不会发送电子邮件。我可以看到作业成功完成并且没有记录错误。但是我没有收到电子邮件

我只是想知道它在本地机器上是如何工作的,而在天蓝色运行时却不行。

更新:

基于下面的 cmets,试图具体化。有人可以确认您是否能够使用 Mailkit 和组织 smtp 服务器(无公共域)和电子邮件帐户从 azure webjob 发送电子邮件?否则请建议什么应该是可行的设置。谢谢!

【问题讨论】:

  • 您确定这些电子邮件没有被垃圾邮件陷阱捕获吗?
  • 我刚刚测试了从我的 WebJob 发送邮件并且在我这边工作正常。你用的是哪个邮件服务器?有时邮件服务器会拒绝来自新客户端或不同时区的发送邮件请求(注意 Azure WebJob 使用 UTC±00:00 作为默认时区)。
  • @jstedfast 我正在使用我的公司电子邮件地址。 smtp 服务器也属于我的组织。您认为原因可能是 Mailkit 吗?我应该使用可以在 azure 托管环境中工作的其他 smtp 库吗?
  • @Amor 请参考我之前的评论。我正在使用我的组织提供的 smtp 和电子邮件。顺便说一句,您在使用 Mailkit 吗?还是您使用其他提供商?我可以看到你提到你的是一个天蓝色的网络作业..
  • 我保证问题不在于 MailKit。服务器很可能出于某种原因捕获了消息 - 就像 Amor 所说,您可能需要通过 Web 浏览器在您的 Web 服务器上进行身份验证,以使 smtp 服务器识别您的 Web 服务器。

标签: smtp console-application .net-core azure-webjobs mailkit


【解决方案1】:

有人可以确认您是否能够使用 Mailkit 和组织 smtp 服务器(无公共域)和电子邮件帐户从 azure webjob 发送电子邮件?否则请建议什么应该是可行的设置。谢谢!

没有公共域意味着我们无法通过互联网访问 smtp 服务器。作为一种解决方法,您可以将邮件信息从 WebJob 保存到 Azure 队列存储,然后编写一个新应用程序并将其发布到您的内部网络。在您的新应用程序中,您可以从 Azure 队列存储中获取信息并从您的内部网络发送邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    相关资源
    最近更新 更多