0

我已将 SendGrid 配置为为平台发送电子邮件。尽管如此,邮件仍在尝试使用 DefaultSmtpEmailNotificationSendingGateway 发送。

我在 VirtoCommerce.Platform.Web 项目 StartUp.cs 中找到了这段代码。

        var emailNotificationSendingGatewayName = ConfigurationManager.AppSettings.GetValue("VirtoCommerce:Notifications:Gateway", "Default");

        if (string.Equals(emailNotificationSendingGatewayName, "Default", StringComparison.OrdinalIgnoreCase))
        {
            emailNotificationSendingGateway = new DefaultSmtpEmailNotificationSendingGateway(settingsManager);
        }
        else if (string.Equals(emailNotificationSendingGatewayName, "SendGrid", StringComparison.OrdinalIgnoreCase))
        {
            emailNotificationSendingGateway = new SendGridEmailNotificationSendingGateway(settingsManager);
        }

        if (emailNotificationSendingGateway != null)
        {
            container.RegisterInstance(emailNotificationSendingGateway);
        }

基于此,我已经尝试过了。

  1. 在要覆盖的 Azure AppService 中将应用设置设置为“SendGrid”。
  2. 然后从 web.config 中删除默认应用设置。
  3. 然后在 web.config 中将显式设置添加到“SendGrid”。
  4. 然后从 Azure AppService 中删除应用设置

尽管如此,邮件仍在上述四个状态中路由到 DefaultSmtpEmailNotificationSendingGateway。

4

0 回答 0