1

わかりました、これは非常に奇妙です!

sendgrid api (Sendgrid 8.0.5) を使用して、スケジュールされた電子メールを人々に送信するコードがあります。ローカル システムでは問題なく動作しますが、Azure (アプリ サービス) では SendAt 時間を無視するだけです。

public async Task SendVotingTimeIsUpEmail(model)
    {
    sg = new SendGridAPIClient(SettingsHelper.Instance.EmailApiKey, "https://api.sendgrid.com");

    Email from = new Email(SettingsHelper.Instance.Sender);
    Email to = new Email(user.Email);
    Content content = new Content("text/html", "content");
    Mail mailSt = new Mail(from, "subject", to, content) { TemplateId = SettingsHelper.Instance.VotingTimeIsUpTemplateId };

    var datetimeOffset = new DateTimeOffset(model.ExpirationDate.Value, TimeSpan.Zero);
    mailSt.SendAt = datetimeOffset.ToUnixTimeSeconds();
    System.Diagnostics.Trace.TraceInformation($"Send at {mailSt.SendAt}");

    dynamic response = await sg.client.mail.send.post(requestBody: mailSt.Get());
}

5分前にやってみた。これは私のログにあるものです:

1480594002 (Thu, 01 Dec 2016 12:06:42 GMT) に送信

そして今日は 11 月 30 日なので、今メッセージが送信されるとは思っていません。しかし、私はちょうど私の電子メールでそれを受け取りました。

何か案が?

4

0 に答える 0