Я просматривал приведенный ниже фрагмент кода для почтовой программы SendGrid в функциях Azure,
[FunctionName("SendEmail")]
public static async void Run(
[ServiceBusTrigger("myqueue", Connection = "ServiceBusConnection")] Message
email,
[SendGrid(ApiKey = "CustomSendGridKeyAppSettingName")]
IAsyncCollector<SendGridMessage> messageCollector)
{
var emailObject = JsonConvert.DeserializeObject<OutgoingEmail>
(Encoding.UTF8.GetString(email.Body));
var message = new SendGridMessage();
message.AddTo(emailObject.To);
message.AddContent("text/html", emailObject.Body);
message.SetFrom(new EmailAddress(emailObject.From));
message.SetSubject(emailObject.Subject);
await messageCollector.AddAsync(message);
}
public class OutgoingEmail
{
public string To { get; set; }
public string From { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}
Если я правильно понял, это отправит сообщение в очередь сообщений "myqueue", но я запутался, чтомне нужно написать пользовательский прослушиватель в очередь «myqueue», чтобы получить сообщение из очереди, и написать логику для вызова «client.SendEmailAsync» для отправки почты, или у SendGrid bindng есть некоторая магия для автоматического захвата сообщения и запуска почты