使用SendGrid在Azure上发送简单的电子邮件 [英] Sending simple email on Azure with Sendgrid

查看:113
本文介绍了使用SendGrid在Azure上发送简单的电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Azure上使用SendGrid发送电子邮件。 我遵循了以下说明:https://docs.microsoft.com/tr-tr/azure/sendgrid-dotnet-how-to-send-email;但它似乎不起作用。 。不过,通过smtp发送仍然有效。

using System;
using System.Threading.Tasks;
using SendGrid;
using SendGrid.Helpers.Mail;

namespace Example
{
    internal class Example
    {
        private static void Main()
        {
            Execute().Wait();
        }

        static async Task Execute()
        {
            var apiKey = System.Environment.GetEnvironmentVariable("SENDGRID_APIKEY");
            var client = new SendGridClient(apiKey);
            var msg = new SendGridMessage()
            {
                From = new EmailAddress("from@hotmail.com", "DX Team"),
                Subject = "Hello World from the SendGrid CSharp SDK!",
                PlainTextContent = "Hello, Email!",
                HtmlContent = "<strong>Hello, Email!</strong>"
            };
            msg.AddTo(new EmailAddress("to@gmail.com", "Test User"));
            var response = await client.SendEmailAsync(msg);
        }
    }
}

推荐答案

根据您的代码示例,当您没有收到任何电子邮件时,它将运行良好。

请注意以下几点:

1.创建API密钥时,确保选择了完全访问 2.您使用Gmail接收电子邮件,因此请设置允许安全性较低的应用:打开 3.检查回复,如果StatusCode被接受表示成功发送电子邮件。 然后重新测试,它可能工作得很好。

此外,您还希望创建一个每15分钟发送一次电子邮件的功能。

您可以参考下面的代码,我在v1中创建了azure函数。

public static void Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer, [SendGrid(ApiKey = "sendgridkey")] out SendGridMessage message, TraceWriter log)
        {
            log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
            message = new SendGridMessage();
            message.AddTo("testto@gmail.com");
            message.AddContent("text/html", "Test body");
            message.SetFrom(new EmailAddress("testfrom@gmail.com"));
            message.SetSubject("Subject");

        }

这篇关于使用SendGrid在Azure上发送简单的电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆