フッターコンテンツにスキップ
.NETヘルプ

Sendgrid .NET(開発者向けの動作方法)

SendGrid、Twilio SendGrid の一部として、お客様がメールを簡単に送信できるようにするクラウドベースのサービスを提供し、通信プロセスを合理化します。 SendGrid アカウントを作成すると、SMTP リレーや API キーなどの機能にアクセスでき、メールメッセージの送信が効率的になります。 SMTP リレーはこのプロセスの核心であり、SendGrid のシステムを通じてサーバーからメールを送信できます。 認証済みドメイン機能はドメインを確認します。 SendGrid はオープンソースであるため、GitHub レポを訪問して改善に貢献できます。

このガイドでは、SendGrid .NET の機能や使い方を明らかにし、初期設定、基本操作、およびより高度な機能について案内します。 コードを通じて最初のメールを送信することや、メールキャンペーンを最適化することを目指す場合に、この記事は SendGrid .NET をマスターし、IronPDFを使用して PDF 操作と統合するための出発点です。

SendGrid .NET の始め方

まず、プロジェクトに SendGrid .NET を設定する必要があります。 SendGrid .NET パッケージのインストールから始めます。 これには NuGet パッケージ マネージャを使用します。 Visual Studio を開き、パッケージ マネージャ コンソールを開きます。 次のコマンドを入力します:

Install-Package SendGrid

SendGrid .NET(開発者向けの働き方):図1 - NuGet パッケージ マネージャ コンソールを介して Visual Studio で SendGrid.NET をインストール

このコマンドによってプロジェクトに SendGrid が追加されます。 インストール後、SendGrid アカウントを設定します。 API キーが必要です。 SendGrid のウェブサイトにアクセスします。 アカウントをお持ちでない場合は作成します。 ログインしたら、設定に移動します。 API キー を検索します。 Create API Key をクリックします。 名前を付けてアクセスレベルを選択します。 API キーをコピーします。 これをアプリケーションで使用します。

基本コード例

では、メールを送信しましょう。 SendGridClient の新しいインスタンスを作成します。 コンストラクターに API キーを渡します。 次に SendGridMessage を作成します。 送信者と受信者のメールアドレスを設定します。 件名とメールの内容を追加します。 最後に SendGridClient を使用してメッセージを送信します。 基本的な例は次の通りです。

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

// Asynchronous method to send an email using SendGrid
static async Task SendEmailAsync()
{
    // Initialize a SendGrid client with your API key
    var client = new SendGridClient("your_api_key");

    // Create a new email message
    var message = new SendGridMessage()
    {
        From = new EmailAddress("your_email@example.com", "Your Name"),
        Subject = "Hello World from SendGrid",
        PlainTextContent = "This is a test email.",
        HtmlContent = "<strong>This is a test email.</strong>"
    };

    // Add a recipient to your email message
    message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(message);
}
using SendGrid;
using SendGrid.Helpers.Mail;
using System.Threading.Tasks;

// Asynchronous method to send an email using SendGrid
static async Task SendEmailAsync()
{
    // Initialize a SendGrid client with your API key
    var client = new SendGridClient("your_api_key");

    // Create a new email message
    var message = new SendGridMessage()
    {
        From = new EmailAddress("your_email@example.com", "Your Name"),
        Subject = "Hello World from SendGrid",
        PlainTextContent = "This is a test email.",
        HtmlContent = "<strong>This is a test email.</strong>"
    };

    // Add a recipient to your email message
    message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(message);
}
$vbLabelText   $csharpLabel

このコードはシンプルなメールを送信します。 これは SendGrid .NET の使用の基本を示しています。 ここから拡大して、さらに多くの機能を使用できます。

SendGrid .NETの機能を実装する

カスタム HTML コンテンツでのメール送信

HTML コンテンツでメールを送信するには、最初に HTML を作成します。 次に、SendGridMessage を使用して HtmlContent を設定します。 これにより、豊富なメールをデザインできます。 1. Visual Studioを開き、"ツール">"NuGetパッケージマネージャー">"ソリューションのNuGetパッケージの管理"に移動します。

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

// Asynchronous method to send an email with custom HTML content
static async Task SendCustomHtmlEmailAsync()
{
    // Initialize a SendGrid client with your API key
    var client = new SendGridClient("your_api_key");

    // Create a new email message with rich HTML content
    var message = new SendGridMessage()
    {
        From = new EmailAddress("your_email@example.com", "Your Name"),
        Subject = "Custom HTML Content",
        HtmlContent = "<html><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"
    };

    // Add a recipient to your email message
    message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(message);
}
using SendGrid;
using SendGrid.Helpers.Mail;
using System.Threading.Tasks;

// Asynchronous method to send an email with custom HTML content
static async Task SendCustomHtmlEmailAsync()
{
    // Initialize a SendGrid client with your API key
    var client = new SendGridClient("your_api_key");

    // Create a new email message with rich HTML content
    var message = new SendGridMessage()
    {
        From = new EmailAddress("your_email@example.com", "Your Name"),
        Subject = "Custom HTML Content",
        HtmlContent = "<html><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"
    };

    // Add a recipient to your email message
    message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(message);
}
$vbLabelText   $csharpLabel

SendGrid SMTP サービスの使用

場合によっては、SMTP を使用してメールを送信することを好むかもしれません。 SendGrid もこれをサポートしています。 SendGrid で SMTP 設定を構成します。 次に、これらの設定をアプリケーションで使用します。 この方法では、SendGrid のサーバーの詳細で SMTP クライアントを設定する必要があります。 基本的なセットアップは次の通りです。

using System.Net;
using System.Net.Mail;

// Method to send an email using SendGrid's SMTP service
void SendSmtpEmail()
{
    // Configure SMTP client with SendGrid's server details
    using (var client = new SmtpClient("smtp.sendgrid.net")
    {
        Port = 587,
        Credentials = new NetworkCredential("apikey", "your_sendgrid_apikey"),
        EnableSsl = true,
    })
    {
        // Create a new mail message
        var mailMessage = new MailMessage
        {
            From = new MailAddress("your_email@example.com"),
            Subject = "Test SMTP Email",
            Body = "This is a test email sent via SMTP.",
            IsBodyHtml = true,
        };

        // Add a recipient to the mail message
        mailMessage.To.Add("recipient_email@example.com");

        // Send the email
        client.Send(mailMessage);
    }
}
using System.Net;
using System.Net.Mail;

// Method to send an email using SendGrid's SMTP service
void SendSmtpEmail()
{
    // Configure SMTP client with SendGrid's server details
    using (var client = new SmtpClient("smtp.sendgrid.net")
    {
        Port = 587,
        Credentials = new NetworkCredential("apikey", "your_sendgrid_apikey"),
        EnableSsl = true,
    })
    {
        // Create a new mail message
        var mailMessage = new MailMessage
        {
            From = new MailAddress("your_email@example.com"),
            Subject = "Test SMTP Email",
            Body = "This is a test email sent via SMTP.",
            IsBodyHtml = true,
        };

        // Add a recipient to the mail message
        mailMessage.To.Add("recipient_email@example.com");

        // Send the email
        client.Send(mailMessage);
    }
}
$vbLabelText   $csharpLabel

メールキャンペーンの管理

SendGrid .NET はメールキャンペーンの管理を可能にします。 API を通じてキャンペーンを作成、送信、および追跡します。 詳細なキャンペーン管理については、SendGrid の API ドキュメントを参照してください。 これは基本的なメールの送信を超えた機能ですが、マーケティング活動には価値があります。

バウンスメールおよびスパムレポートの処理

バウンスやスパム報告の処理が重要です。 SendGrid .NET はこれらのイベントのためにウェブフックを提供します。 SendGrid ダッシュボードでウェブフックを設定します。 次に、アプリケーションでこれらのイベントを処理します。 これにより、メールリストが清潔になり、配信性が向上します。

ドメインの認証

ドメインの認証はメールの配信性に重要です。 それはあなたのドメインの所有権を確認します。SendGrid では、ダッシュボード経由でドメイン認証を設定します。 これには DNS レコードの追加が含まれます。 確認されると、メールは受信者やメールプロバイダにとってより信頼できるものに映ります。

IronPDF と SendGrid の統合

IronPDF の紹介

SendGrid .NET(開発者向けの働き方):図2 - IronPDF ホームページ

IronPDF の機能を探るは、開発者が .NET アプリケーション内で PDF コンテンツを作成、編集、抽出できるライブラリです。 それはプログラムで PDF ファイルを扱うための簡潔なアプローチを提供します。 PDF 仕様についての深い知識を必要とせずに PDF ファイルを扱うことを容易にします。 IronPDFを使用すると、HTMLをPDFに変換するIronPDFアンカーを使用して、既存のPDFを編集し、コンテンツを抽出できます。

IronPDF と SendGrid C# の統合使用例

ビジネスアプリケーションでは、財務報告書、請求書、またはパーソナライズされた書類が動的に生成され、クライアントまたはステークホルダーにメールで送信される必要があります。 IronPDFはこれらの書類をテンプレートまたはデータソースから作成し、それらを PDF 形式に変換するために使用できます。 その後、SendGrid の C# クライアントを使用して、これらの PDF ドキュメントをメールに添付し、意図された受信者に自動的に送信できます。

IronPDF は HTML から PDF への変換に秀でており、元のレイアウトとスタイルを正確に保存します。 これは、レポート、請求書、ドキュメントなどの Web ベースのコンテンツから PDF を作成するのに最適です。 HTML ファイル、URL、または生の HTML 文字列のサポートにより、IronPDF は高品質な PDF ドキュメントを簡単に生成します。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
$vbLabelText   $csharpLabel

IronPDFライブラリをインストールする

IronPDF を利用するには、まず NuGet パッケージをインストールする必要があります。 まず NuGet パッケージ マネージャ コンソールを開き、このコマンドを実行します:

Install-Package IronPdf

詳細と手順を示す統合使用例のコード例

ステップ 1: IronPDF で PDF を生成

まず、PDF ドキュメントを生成します。 例として、HTML 文字列からシンプルな PDF を作成します。

using IronPdf;

// Instantiates a new HtmlToPdf object
var Renderer = new HtmlToPdf();

// Constructs a PDF from an HTML string
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Define the output path for the PDF file
var outputPath = "example.pdf";

// Saves the generated PDF to the specified path
PDF.SaveAs(outputPath);
using IronPdf;

// Instantiates a new HtmlToPdf object
var Renderer = new HtmlToPdf();

// Constructs a PDF from an HTML string
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Define the output path for the PDF file
var outputPath = "example.pdf";

// Saves the generated PDF to the specified path
PDF.SaveAs(outputPath);
$vbLabelText   $csharpLabel

ステップ 2: SendGrid のセットアップ

SendGrid NuGet パッケージがインストールされていることを確認します:

Install-Package SendGrid

次に、アプリケーションで SendGrid を構成します。 SendGrid のアカウントからの API キーが必要です。

using SendGrid;
using SendGrid.Helpers.Mail;

// Initialize SendGrid client with your API key
var apiKey = "your_sendgrid_api_key";
var client = new SendGridClient(apiKey);
using SendGrid;
using SendGrid.Helpers.Mail;

// Initialize SendGrid client with your API key
var apiKey = "your_sendgrid_api_key";
var client = new SendGridClient(apiKey);
$vbLabelText   $csharpLabel

ステップ 3: PDF 添付ファイル付きのメールを作成して送信

次に、メールメッセージを作成し、先に生成した PDF を添付します。 最後に SendGrid を通じてメールを送信します。

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

// Asynchronous method to create and send an email with a PDF attachment
async Task SendEmailWithPdfAttachmentAsync()
{
    // Define sender and recipient email addresses
    var from = new EmailAddress("your_email@example.com", "Your Name");
    var subject = "Sending with SendGrid is Fun";
    var to = new EmailAddress("recipient_email@example.com", "Recipient Name");
    var plainTextContent = "Hello, Email!";
    var htmlContent = "<strong>Hello, Email!</strong>";

    // Create a new email message
    var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

    // Attach the PDF
    var bytes = File.ReadAllBytes("example.pdf");
    var file = Convert.ToBase64String(bytes);
    msg.AddAttachment("example.pdf", file);

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(msg);
}
using System;
using System.IO;
using System.Threading.Tasks;
using SendGrid;
using SendGrid.Helpers.Mail;

// Asynchronous method to create and send an email with a PDF attachment
async Task SendEmailWithPdfAttachmentAsync()
{
    // Define sender and recipient email addresses
    var from = new EmailAddress("your_email@example.com", "Your Name");
    var subject = "Sending with SendGrid is Fun";
    var to = new EmailAddress("recipient_email@example.com", "Recipient Name");
    var plainTextContent = "Hello, Email!";
    var htmlContent = "<strong>Hello, Email!</strong>";

    // Create a new email message
    var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

    // Attach the PDF
    var bytes = File.ReadAllBytes("example.pdf");
    var file = Convert.ToBase64String(bytes);
    msg.AddAttachment("example.pdf", file);

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(msg);
}
$vbLabelText   $csharpLabel

このコード例は、シンプルな PDF ドキュメントを生成し、それをメールに添付して SendGrid を通じて送信する手順を示しています。 それは IronPDF と SendGrid それぞれのドキュメント生成およびメール機能を .NET アプリケーションで統合する簡潔なプロセスです。

結論

SendGrid .NET(開発者向けの働き方):図3 - IronPDF ライセンス ページ

結論として、このガイドは .NET アプリケーション内で SendGrid .NET をメールサービスとして、IronPDF を PDF ドキュメント管理として統合する方法を包括的に紹介します。 概説された手順に従うことで、開発者はカスタマイズ可能な HTML コンテンツと SMTP サービスオプションを備えたメール送信機能を効率的に実装でき、メールキャンペーンを管理できます。

加えて、IronPDF の統合により、財務報告書や請求書などの PDF ドキュメントの動的生成とメール送信が可能になり、これらの強力なライブラリを組み合わせた実用的な事例を示します。 これらの機能を探ることに興味がある開発者は、ライセンスを購読する前に IronPDF 無料トライアルを活用できます。 IronPDF のライセンス詳細と価格オプション は $799 から始まります。

よくある質問

プロジェクトでSendGrid .NETを設定する方法は?

Visual StudioのNuGetパッケージマネージャーを通じてSendGridパッケージをインストールして、SendGrid .NETを設定します。インストール後、SendGridアカウントを作成し、メール送信を開始するためのAPIキーを生成します。

SendGrid .NETを使用してメールを送信するにはどの手順が含まれますか?

APIキーを使ってSendGridClientを使用し、必要な送信者と受信者の詳細を含むSendGridMessageを構築し、SendEmailAsyncメソッドでメッセージを送信します。

SendGrid .NETを使用してHTMLリッチメールを送信するにはどうすればいいですか?

HTMLリッチメールを送信するには、SendGridMessageのHtmlContentプロパティにカスタムHTMLコンテンツを設定してからメールを送信します。

SendGridを.NETアプリケーションでSMTPと一緒に使用することは可能ですか?

はい、SendGridのSMTPサーバーの詳細を設定して、SMTPクライアントを使用してSendGridでSMTPを使用し、APIキーを認証情報として使用できます。

.NETでメールの添付ファイルとしてPDFドキュメントを生成する方法は?

IronPDFのChromePdfRendererを使用してHTMLコンテンツをPDFファイルに変換することでPDFドキュメントを生成し、SaveAsメソッドを使用して保存できます。

SendGridでメールにPDFを添付するプロセスは何ですか?

PDFをバイト配列に変換し、base64文字列にエンコードして、SendGridMessageのAddAttachmentメソッドを使用してメールにPDFを添付します。

SendGridを使用する際にドメイン認証が重要である理由は?

ドメイン認証はドメインの所有権を確認し、メールの配信率を向上させ、受信者からの信頼性を確保するために重要です。

IronPDFは.NETアプリケーションでSendGridの機能をどのように強化しますか?

IronPDFは開発者がPDFドキュメントを作成し操作することを可能にし、生成されたPDFをメールの添付ファイルとして送信するためにSendGridと統合できます。文書管理の機能を強化します。

SendGridを使用してメールキャンペーンを管理する利点は何ですか?

SendGridはそのAPIを通じてメールキャンペーンの作成、送信、および追跡のための強力な機能を提供し、SendGridのAPIドキュメントに詳述されている詳細な管理オプションを提供します。

SendGridでバウンスやスパムレポートをどのように処理できますか?

SendGridのウェブフックを使用してバウンスやスパムレポートを処理します。これらのウェブフックは、メールの配信問題についてアプリケーションに通知し、効果的に管理できるようにします。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。

Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。

彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。