SendGrid SendAt: Come schedulare l’invio

Utilizzi SendGrid ed hai la necessità di programmare l’invio di mail in particolari situazioni e/o momenti della giornata? In queste ultime settimane ho rimesso mano ad un progetto basato sull’invio di notifiche tramite posta elettronica e mi sono posto un dilemma su come fare a mandare le mail giuste all’orario corretto. Avevo due possibilità:
Una Azure Function di tipo TimeTrigger ogni X minuti
Una sola Azure Function nella quale veniva calcolata la data di invio corretto e passata a SendGrid
Per una questione di costi dovuto al numero di chiamate ho optato per la seconda soluzione e questo mi è possible tramite SendAt offerto da SendGrid.
SendGrid SendAt: Come usarlo
Vi ricordate l’articolo che ho scritto dal titolo " SendGrid: Inviare Mail da Azure (Cloud Application) " dove spiegavo in poche righe come inviare mail? Il codice che mostro di seguito è una piccola estensione della precedente. Firma Send
|
|
La prima modifica da fare è quella di aggiungere il parametro
DateTime? sentAtUtcDateTime = null
come null in modo da non essere obbligati a modificare tutte le precedenti chiamate. Personalmente sono più favorevole per l’opzione di modificare tutte le chiamate, ma non voglio complicarvi la vita. Una volta arrivati a questo punto basta utilizzarlo
|
|
Si, la modifica è solamente quella e si ottiene un grandissimo risultato. Quale? L’invio della mail all’orario UTC desiderato.
SendGrid SendAt: Mettiamolo al lavoro
Una volta scritto il codice ho provato a fare una classe dove chiamavo cinque volte il metodo Send con un intervallo di 120 secondi tra una mail e la successiva. Ecco il risultato ottenuto dopo una breve attesa Gli orari sono stati rispettati tutti e la mail è arrivata veramente puntuale. E’ facile, no?
! SendGrid SendAt: Come schedulare l’invio (GMail) (cs)
|
|
SendGrid: Installazione Nuget
Per utilizzare il tutto è necessario aggiungere il pacchetto SendGrid attraverso nuget. Per farlo è sufficiente lanciare dal package manager il seguente comando:
Install-Package Sendgrid -Version 9.10.0
Per restare aggiornati con la versione più recente vi invito a vedere la pagina " NuGet Gallery | Sendgrid” con tutte le versioni del prodotto.