簡體   English   中英

部署到 AWS 后,SendGrid 未發送確認 email

[英]SendGrid not sending confirmation email after deployment to AWS

它在本地發送電子郵件,我可以確認它們,然后一切都很好。 部署后,它仍然給我“請檢查您的電子郵件”屏幕,但 email 實際上並沒有發送。 我確實在 IIS 上手動打開了端口 587,認為這可能會阻止它,但確定原因的實際根源是 escaping 我。 抱歉,如果以前有人問過這個問題,我是這個框架的新手,我盡量不問愚蠢的問題。 我真誠地感謝任何幫助,也。 我包含的代碼是我假設它來自哪里,但我不能確定。 我很感激。 編輯我發現它實際上仍然保持正確的 email 所以我假設服務器上的某些東西可能會阻止這個?

using Microsoft.AspNetCore.Identity.UI.Services;
using Microsoft.Extensions.Options;
using SendGrid;
using SendGrid.Helpers.Mail;
using System.Threading.Tasks;

namespace O3is_v1.Models
{
        public class SendGridEmailSender : IEmailSender
        {
            public SendGridEmailSender(
                       IOptions<SendGridEmailSenderOptions> options
                       )
            {
                this.Options = options.Value;
            }

            public SendGridEmailSenderOptions Options { get; set; }

            public async Task SendEmailAsync(
                string email,
                string subject,
                string message)
            {
                await Execute(Options.ApiKey, subject, message, email);
            }

            private async Task<Response> Execute(
                string apiKey,
                string subject,
                string message,
                string email)
            {
                var client = new SendGridClient(apiKey);
                var msg = new SendGridMessage()
                {
                    From = new EmailAddress(Options.SenderEmail, Options.SenderName),
                    Subject = subject,
                    PlainTextContent = message,
                    HtmlContent = message
                };
                msg.AddTo(new EmailAddress(email));

                // disable tracking settings
                // ref.: https://sendgrid.com/docs/User_Guide/Settings/tracking.html
                msg.SetClickTracking(false, false);
                msg.SetOpenTracking(false);
                msg.SetGoogleAnalytics(false);
                msg.SetSubscriptionTracking(false);

                return await client.SendEmailAsync(msg);
            }
        }
    }

這就是我的答案,我想我已經弄清楚了。我遇到的問題的一個主要部分是我的應用程序在部署時沒有讀取我的環境變量...所以,我更改了應用程序池中的設置。 ..那沒用...所以我找到了這個 aws.amazon.com/blogs/developer/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM