E-mail verzenden met SendGrid met AzureHow to Send Email Using SendGrid with Azure

OverzichtOverview

In deze hand leiding wordt gedemonstreerd hoe u algemene programmeer taken uitvoert met de SendGrid-e-mail service op Azure.This guide demonstrates how to perform common programming tasks with the SendGrid email service on Azure. De voor beelden zijn geschreven in C # en ondersteunen .NET Standard 1,3.The samples are written in C# and supports .NET Standard 1.3. De volgende scenario's omvatten het samen stellen van e-mail, het verzenden van e-mail, het toevoegen van bijlagen en het inschakelen van verschillende e-mail-en tracerings instellingen.The scenarios covered include constructing email, sending email, adding attachments, and enabling various mail and tracking settings. Zie de sectie volgende stappen voor meer informatie over het SendGrid en verzenden van e-mail.For more information on SendGrid and sending email, see the Next steps section.

Wat is de SendGrid-e-mail service?What is the SendGrid Email Service?

SendGrid is een [cloud-gebaseerde e-mail service] die betrouw bare [transactionele e-mail levering], schaal baarheid en real-time analyse biedt, samen met flexibele api's die eenvoudig aangepaste integratie maken.SendGrid is a cloud-based email service that provides reliable transactional email delivery, scalability, and real-time analytics along with flexible APIs that make custom integration easy. Veelvoorkomende SendGrid-use-cases zijn:Common SendGrid use cases include:

  • Automatisch ontvangst bewijzen of aankoop bevestigingen verzenden aan klanten.Automatically sending receipts or purchase confirmations to customers.
  • Het beheren van distributie lijsten voor het verzenden van klanten per maand flyers en promoties.Administering distribution lists for sending customers monthly fliers and promotions.
  • Het verzamelen van metrische gegevens in realtime voor zaken als geblokkeerde e-mail en klant betrokkenheid.Collecting real-time metrics for things like blocked email and customer engagement.
  • Vragen van klanten door sturen.Forwarding customer inquiries.
  • Binnenkomende e-mail berichten verwerken.Processing incoming emails.

Bezoek https://sendgrid.com of SendGrid C# Library github opslag plaats voor meer informatie.For more information, visit https://sendgrid.com or SendGrid's C# library GitHub repo.

Een SendGrid-account makenCreate a SendGrid Account

Azure-klanten kunnen iedere maand 25.000 gratis e-mails ontgrendelen.Azure customers can unlock 25,000 free emails each month. Met deze 25.000 gratis maandelijkse e-mails krijgt u toegang tot geavanceerde rapportage en analyse en alle api's (Web, SMTP, event, parse en meer).These 25,000 free monthly emails will give you access to advanced reporting and analytics and all APIs (Web, SMTP, Event, Parse, and more). Voor informatie over extra diensten die door SendGrid worden aangeboden, gaat u naar de pagina met SendGrid-oplossingen.For information about additional services provided by SendGrid, visit the SendGrid Solutions page.

Aanmelden voor een SendGrid-accountTo sign up for a SendGrid account

  1. Meld u aan bij de Azure-portal.Sign in to the Azure portal.

  2. Selecteer in het menu Azure Portal of de start pagina de optie een resource maken.In the Azure portal menu or the home page, select Create a resource.

    Scherm afbeelding van het menu Azure Portal waarvoor de optie een resource maken is geselecteerd.

  3. Zoek en selecteer SendGrid.Search for and select SendGrid.

    Scherm afbeelding van het venster Azure Portal Marketplace met ' SendGr ' in het zoekvak en SendGrid geselecteerd in de zoek resultaten.

  4. Vul het registratieformulier in en selecteer Maken.Complete the signup form and select Create.

    Scherm afbeelding van het dialoog venster een nieuw SendGrid-account maken met de velden naam, wacht woord, abonnement en resource groep ingevuld.

  5. Voer een naam in om uw SendGrid-service in uw Azure-instellingen te herkennen.Enter a Name to identify your SendGrid service in your Azure settings. Namen moeten tussen de 1 en 100 tekens lang zijn en mogen alleen alfanumerieke tekens, streepjes, punten en onderstrepingstekens bevatten.Names must be between 1 and 100 characters in length and contain only alphanumeric characters, dashes, dots, and underscores. De naam moet uniek zijn in uw lijst met geabonneerde Azure Store-items.The name must be unique in your list of subscribed Azure Store Items.

  6. Voer uw wachtwoord in en bevestig dit.Enter and confirm your Password.

  7. Kies uw abonnement.Choose your Subscription.

  8. Maak een nieuwe resourcegroep of selecteer een bestaande.Create a new Resource group or use an existing one.

  9. Selecteer in het gedeelte Prijscategorie het SendGrid-abonnement waar u zich voor wilt aanmelden.In the Pricing tier section select the SendGrid plan you want to sign up for.

    Scherm afbeelding van het dialoog venster een nieuw SendGrid-account maken met de optie uw prijs categorie kiezen en de prijs categorie gratis geselecteerd.

  10. Voer een promotiecode in als u er een hebt.Enter a Promotion Code if you have one.

  11. Voer uw contact gegevensin.Enter your Contact Information.

  12. Lees en accepteer de juridische bepalingen.Review and accept the Legal terms.

  13. Nadat u uw aankoop hebt bevestigd, ziet u een pop-upvenster implementatie is voltooid en ziet u uw account in de lijst.After confirming your purchase you will see a Deployment Succeeded pop-up and you will see your account listed.

    Scherm afbeelding van de pagina SendGrid-accounts met het nieuwe account dat wordt weer gegeven ContosoSendGrid.

    Nadat u uw aankoop hebt voltooid en op de knop Beheren hebt geklikt om de verificatieprocedure van het e-mailadres te starten, ontvangt u een e-mail van SendGrid waarin u wordt gevraagd uw account te verifiëren.After you have completed your purchase and clicked the Manage button to initiate the email verification process, you will receive an email from SendGrid asking you to verify your account. Als u dit e-mail bericht niet ontvangt of problemen ondervindt met het verifiëren van uw account, raadpleegt u onze veelgestelde vragen.If you do not receive this email, or have problems verifying your account, please see our FAQ.

    Scherm afbeelding van de pagina ContosoSendGrid-account met de knop beheren gemarkeerd.

    U kunt maximaal 100 e-mailberichten per dag verzenden totdat u uw account hebt geverifieerd.You can only send up to 100 emails/day until you have verified your account.

    Als u uw abonnement wilt wijzigen of de SendGrid-contactinstellingen wilt bekijken, klikt u op de naam van uw SendGrid-service om het SendGrid Marketplace-dashboard te openen.To modify your subscription plan or see the SendGrid contact settings, click the name of your SendGrid service to open the SendGrid Marketplace dashboard.

    Scherm opname die laat zien dat de instellingen pagina voor het ContosoSendGrid-account wordt geopend door alle instellingen op de pagina ContosoSendGrid-account te selecteren.

    Als u een e-mail met SendGrid wilt verzenden, moet u uw API-sleutel invoeren.To send an email using SendGrid, you must supply your API Key.

Uw SendGrid-API-sleutel vindenTo find your SendGrid API Key

  1. Klik op Beheren.Click Manage.

    Scherm afbeelding van de pagina ContosoSendGrid-account met de knop beheren gemarkeerd.

  2. Selecteer op uw SendGrid-dashboard Instellingen en vervolgens API-sleutels in het menu aan de linkerkant.In your SendGrid dashboard, select Settings and then API Keys in the menu on the left.

    Scherm opname van het SendGrid-dash board waarin de vervolg keuzelijst instellingen is geopend en de API-sleutels zijn geselecteerd.

  3. Klik op API-sleutel maken.Click the Create API Key.

    Scherm afbeelding van de API-sleutels en de knop API-sleutel maken is geselecteerd.

  4. Geef ten minste de naam van de sleutel op, verleen volledige toegang tot Mail verzenden en selecteer vervolgens Opslaan.At a minimum, provide the Name of this key and provide full access to Mail Send and select Save.

    Scherm opname van het scherm nieuwe algemene API-sleutel toevoegen met E-mail verzenden ingesteld op volledige toegang, geplande verzen dingen ingesteld op geen toegang en de knop Opslaan gemarkeerd.

  5. Uw API wordt op dit moment één keer weergegeven.Your API will be displayed at this point one time. Zorg ervoor dat u de API veilig opslaat.Please be sure to store it safely.

Uw SendGrid-referenties vindenTo find your SendGrid credentials

  1. Klik op het sleutelpictogram om uw gebruikersnaam te vinden.Click the key icon to find your Username.

    Scherm afbeelding van de pagina ContosoSendGrid-account met het sleutel pictogram gemarkeerd.

  2. Het wachtwoord is door u gekozen tijdens de installatie.The password is the one you chose at setup. Als u wijzigingen wilt aanbrengen, selecteert u Wachtwoord wijzigen of Wachtwoord opnieuw instellen.You can select Change password or Reset password to make any changes.

Als u uw instellingen voor de bezorging van e-mail wilt beheren, klikt u op de knop Beheren.To manage your email deliverability settings, click the Manage button. Dit wordt omgeleid naar uw SendGrid-dash board.This will redirect to your SendGrid dashboard.

Scherm afbeelding van de pagina ContosoSendGrid-account met de knop beheren gemarkeerd.

Ga voor meer informatie over het verzenden van e-mail via SendGrid naar het overzicht van de e-mail-API.For more information on sending email through SendGrid, visit the Email API Overview.

Naslag informatie over de SendGrid .NET-klassen bibliotheekReference the SendGrid .NET Class Library

Het SendGrid NuGet-pakket is de eenvoudigste manier om de SENDGRID-API op te halen en om uw toepassing te configureren met alle afhankelijkheden.The SendGrid NuGet package is the easiest way to get the SendGrid API and to configure your application with all dependencies. NuGet is een Visual Studio-extensie die is opgenomen in micro soft Visual Studio 2015 en hoger, waarmee u eenvoudig bibliotheken en hulpprogram ma's kunt installeren en bijwerken.NuGet is a Visual Studio extension included with Microsoft Visual Studio 2015 and above that makes it easy to install and update libraries and tools.

Notitie

Als u NuGet wilt installeren als u een versie van Visual Studio gebruikt die ouder is dan Visual Studio 2015, gaat u naar https://www.nuget.org en klikt u op de knop NuGet installeren .To install NuGet if you are running a version of Visual Studio earlier than Visual Studio 2015, visit https://www.nuget.org, and click the Install NuGet button.

Ga als volgt te werk om het SendGrid NuGet-pakket in uw toepassing te installeren:To install the SendGrid NuGet package in your application, do the following:

  1. Klik op Nieuw project en selecteer een sjabloon.Click on New Project and select a Template.

    Een nieuw project maken

  2. Klik in Solution Explorermet de rechter muisknop op verwijzingenen vervolgens op NuGet-pakketten beheren.In Solution Explorer, right-click References, then click Manage NuGet Packages.

    SendGrid NuGet-pakket

  3. Zoek naar SendGrid en selecteer het item SendGrid in de lijst met resultaten.Search for SendGrid and select the SendGrid item in the results list.

  4. Selecteer de nieuwste stabiele versie van het Nuget-pakket in de vervolg keuzelijst versie om te kunnen werken met het object model en de Api's die in dit artikel worden getoond.Select the latest stable version of the Nuget package from the version dropdown to be able to work with the object model and APIs demonstrated in this article.

    SendGrid-pakket

  5. Klik op installeren om de installatie te volt ooien en sluit dit dialoog venster.Click Install to complete the installation, and then close this dialog.

De .NET-klassen bibliotheek van SendGrid heet SendGrid.SendGrid's .NET class library is called SendGrid. Deze bevat de volgende naam ruimten:It contains the following namespaces:

  • SendGrid voor communicatie met de API van SendGrid.SendGrid for communicating with SendGrid's API.
  • SendGrid. helpers. mail voor hulp methoden om eenvoudig SendGridMessage-objecten te maken die aangeven hoe e-mails moeten worden verzonden.SendGrid.Helpers.Mail for helper methods to easily create SendGridMessage objects that specify how to send emails.

Voeg de volgende code naam ruimte declaraties toe aan de bovenkant van een C#-bestand waarin u programmatisch toegang wilt krijgen tot de SendGrid-e-mail service.Add the following code namespace declarations to the top of any C# file in which you want to programmatically access the SendGrid email service.

using SendGrid;
using SendGrid.Helpers.Mail;

Procedure: een E-mail makenHow to: Create an Email

Gebruik het object SendGridMessage om een e-mail bericht te maken.Use the SendGridMessage object to create an email message. Zodra het bericht object is gemaakt, kunt u eigenschappen en methoden instellen, waaronder de e-mail afzender, de e-mail ontvanger en het onderwerp en de hoofd tekst van de e-mail.Once the message object is created, you can set properties and methods, including the email sender, the email recipient, and the subject and body of the email.

In het volgende voor beeld ziet u hoe u een volledig ingevuld e-mail object maakt:The following example demonstrates how to create a fully populated email object:

var msg = new SendGridMessage();

msg.SetFrom(new EmailAddress("dx@example.com", "SendGrid DX Team"));

var recipients = new List<EmailAddress>
{
    new EmailAddress("jeff@example.com", "Jeff Smith"),
    new EmailAddress("anna@example.com", "Anna Lidman"),
    new EmailAddress("peter@example.com", "Peter Saddow")
};
msg.AddTos(recipients);

msg.SetSubject("Testing the SendGrid C# Library");

msg.AddContent(MimeType.Text, "Hello World plain text!");
msg.AddContent(MimeType.Html, "<p>Hello World!</p>");

Zie SendGrid-csharp op github voor meer informatie over alle eigenschappen en methoden die worden ondersteund door het type SendGrid .For more information on all properties and methods supported by the SendGrid type, see sendgrid-csharp on GitHub.

Procedure: een E-mail verzendenHow to: Send an Email

Nadat u een e-mail bericht hebt gemaakt, kunt u het verzenden met behulp van de API van SendGrid.After creating an email message, you can send it using SendGrid's API. U kunt ook gebruikmaken van . Ingebouwde bibliotheek van NET.Alternatively, you may use .NET's built in library.

Als u een e-mail bericht wilt verzenden, moet u uw SendGrid API-sleutel opgeven.Sending email requires that you supply your SendGrid API Key. Ga naar de documentatievan de API-sleutels van SendGrid als u meer wilt weten over het configureren van API-sleutels.If you need details about how to configure API Keys, please visit SendGrid's API Keys documentation.

U kunt deze referenties opslaan via uw Azure Portal door te klikken op toepassings instellingen en de sleutel-waardeparen toe te voegen onder App-instellingen.You may store these credentials via your Azure portal by clicking Application settings and adding the key/value pairs under App settings.

Azure-app-instellingen

Vervolgens kunt u deze als volgt openen:Then, you may access them as follows:

var apiKey = System.Environment.GetEnvironmentVariable("SENDGRID_APIKEY");
var client = new SendGridClient(apiKey);

In de volgende voor beelden ziet u hoe u een e-mail bericht verzendt met behulp van de SendGrid-Web-API met een console toepassing.The following examples show how to send an email message using the SendGrid Web API with a console application.

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("test@example.com", "DX Team"),
                Subject = "Hello World from the SendGrid CSharp SDK!",
                PlainTextContent = "Hello, Email!",
                HtmlContent = "<strong>Hello, Email!</strong>"
            };
            msg.AddTo(new EmailAddress("test@example.com", "Test User"));
            var response = await client.SendEmailAsync(msg);
        }
    }
}

Procedure: e-mail verzenden vanuit ASP .NET core API met behulp van de klasse mail helperHow to: Send email from ASP .NET Core API using MailHelper class

Het onderstaande voor beeld kan worden gebruikt om één e-mail bericht te verzenden naar meerdere personen uit de ASP .NET core API met behulp MailHelper van de klasse van SendGrid.Helpers.Mail naam ruimte.The below example can be used to send a single email to multiple persons from the ASP .NET Core API using the MailHelper class of SendGrid.Helpers.Mail namespace. Voor dit voor beeld gebruiken we ASP .NET Core 1,0.For this example we are using ASP .NET Core 1.0.

In dit voor beeld is de API-sleutel opgeslagen in het appsettings.json bestand dat kan worden overschreven van de Azure Portal zoals weer gegeven in de bovenstaande voor beelden.In this example, the API key has been stored in the appsettings.json file which can be overridden from the Azure portal as shown in the above examples.

De inhoud van het appsettings.json bestand moet er ongeveer als volgt uitzien:The contents of appsettings.json file should look similar to:

{
   "Logging": {
   "IncludeScopes": false,
   "LogLevel": {
   "Default": "Debug",
   "System": "Information",
   "Microsoft": "Information"
     }
   },
 "SENDGRID_API_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}

Eerst moet u de onderstaande code toevoegen in het Startup.cs bestand van het .net core API-project.First, we need to add the below code in the Startup.cs file of the .NET Core API project. Dit is vereist om toegang te krijgen tot de SENDGRID_API_KEY vanuit het appsettings.json bestand met behulp van afhankelijkheids injectie in de API-controller.This is required so that we can access the SENDGRID_API_KEY from the appsettings.json file by using dependency injection in the API controller. De IConfiguration interface kan worden ingevoegd bij de constructor van de controller nadat deze is toegevoegd in de ConfigureServices onderstaande methode.The IConfiguration interface can be injected at the constructor of the controller after adding it in the ConfigureServices method below. De inhoud van het Startup.cs bestand ziet er ongeveer als volgt uit nadat u de vereiste code hebt toegevoegd:The content of Startup.cs file looks like the following after adding the required code:

    public IConfigurationRoot Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        // Add mvc here
        services.AddMvc();
        services.AddSingleton<IConfiguration>(Configuration);
    }

Na het injecteren van de interface kunt u op de controller IConfiguration de CreateSingleEmailToMultipleRecipients methode van de MailHelper -klasse gebruiken om één e-mail bericht naar meerdere ontvangers te verzenden.At the controller, after injecting the IConfiguration interface, we can use the CreateSingleEmailToMultipleRecipients method of the MailHelper class to send a single email to multiple recipients. De methode accepteert een extra Booleaanse para meter met de naam showAllRecipients .The method accepts one additional boolean parameter named showAllRecipients. Deze para meter kan worden gebruikt om te bepalen of e-mail ontvangers elk ander e-mail adres kunnen zien in het gedeelte aan van de koptekst van een e-mail.This parameter can be used to control whether email recipients will be able to see each others email address in the To section of email header. De voorbeeld code voor de controller moet er als volgt uitzienThe sample code for controller should be like below

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SendGrid;
using SendGrid.Helpers.Mail;
using Microsoft.Extensions.Configuration;

namespace SendgridMailApp.Controllers
{
    [Route("api/[controller]")]
    public class NotificationController : Controller
    {
       private readonly IConfiguration _configuration;

       public NotificationController(IConfiguration configuration)
       {
         _configuration = configuration;
       }      
    
       [Route("SendNotification")]
       public async Task PostMessage()
       {
          var apiKey = _configuration.GetSection("SENDGRID_API_KEY").Value;
          var client = new SendGridClient(apiKey);
          var from = new EmailAddress("test1@example.com", "Example User 1");
          List<EmailAddress> tos = new List<EmailAddress>
          {
              new EmailAddress("test2@example.com", "Example User 2"),
              new EmailAddress("test3@example.com", "Example User 3"),
              new EmailAddress("test4@example.com","Example User 4")
          };
        
          var subject = "Hello world email from Sendgrid ";
          var htmlContent = "<strong>Hello world with HTML content</strong>";
          var displayRecipients = false; // set this to true if you want recipients to see each others mail id 
          var msg = MailHelper.CreateSingleEmailToMultipleRecipients(from, tos, subject, "", htmlContent, false);
          var response = await client.SendEmailAsync(msg);
      }
   }
}

Procedure: een bijlage toevoegenHow to: Add an attachment

Bijlagen kunnen worden toegevoegd aan een bericht door de methode AddAttachment aan te roepen en mini maal de bestands naam en base64-gecodeerde inhoud op te geven die u wilt koppelen.Attachments can be added to a message by calling the AddAttachment method and minimally specifying the file name and Base64 encoded content you want to attach. U kunt meerdere bijlagen opnemen door deze methode eenmaal aan te roepen voor elk bestand dat u wilt koppelen of door de methode AddAttachments te gebruiken.You can include multiple attachments by calling this method once for each file you wish to attach or by using the AddAttachments method. In het volgende voor beeld ziet u het toevoegen van een bijlage aan een bericht:The following example demonstrates adding an attachment to a message:

var banner2 = new Attachment()
{
    Content = Convert.ToBase64String(raw_content),
    Type = "image/png",
    Filename = "banner2.png",
    Disposition = "inline",
    ContentId = "Banner 2"
};
msg.AddAttachment(banner2);

Procedure: e-mail instellingen gebruiken om voet tekst, tracering en analyse in te scha kelenHow to: Use mail settings to enable footers, tracking, and analytics

SendGrid biedt extra e-mail functionaliteit via het gebruik van instellingen voor e-mail en tracerings instellingen.SendGrid provides additional email functionality through the use of mail settings and tracking settings. Deze instellingen kunnen worden toegevoegd aan een e-mail bericht om specifieke functionaliteit in te scha kelen, zoals het bijhouden van Google Analytics, het bijhouden van abonnementen, enzovoort.These settings can be added to an email message to enable specific functionality such as click tracking, Google analytics, subscription tracking, and so on. Zie de documentatie van de instellingenvoor een volledige lijst met apps.For a full list of apps, see the Settings Documentation.

Apps kunnen worden toegepast op SendGrid -e-mail berichten met behulp van methoden die zijn geïmplementeerd als onderdeel van de klasse SendGridMessage .Apps can be applied to SendGrid email messages using methods implemented as part of the SendGridMessage class. In de volgende voor beelden ziet u de voet tekst en klikt u op traceer filters:The following examples demonstrate the footer and click tracking filters:

In de volgende voor beelden ziet u de voet tekst en klikt u op traceer filters:The following examples demonstrate the footer and click tracking filters:

msg.SetFooterSetting(
                     true,
                     "Some Footer HTML",
                     "<strong>Some Footer Text</strong>");

Klik op bijhoudenClick tracking

msg.SetClickTracking(true);

Procedure: extra SendGrid Services gebruikenHow to: Use Additional SendGrid Services

SendGrid biedt verschillende Api's en webhooks die u kunt gebruiken om gebruik te maken van extra functionaliteit binnen uw Azure-toepassing.SendGrid offers several APIs and webhooks that you can use to leverage additional functionality within your Azure application. Zie de SENDGRID API-verwijzingvoor meer informatie.For more details, see the SendGrid API Reference.

Volgende stappenNext steps

Nu u de basis principes van de SendGrid-e-mail service hebt geleerd, volgt u deze koppelingen voor meer informatie.Now that you've learned the basics of the SendGrid Email service, follow these links to learn more.