Przejdź do treści stopki
POMOC .NET

Sendgrid .NET (jak to działa dla programistów)

SendGrid, part of Twilio SendGrid, offers a cloud-based service to help customers send emails simply, streamlining communication processes. When you create a SendGrid account, you gain access to features like SMTP relay and API keys, making sending email messages efficient. The SMTP relay is the core of this process as it allows your emails to be sent from your server through SendGrid's system. The authenticated domain feature verifies your domain. As SendGrid is open source, you can access its GitHub repo and help to modify it.

In this guide, we aim to unpack the features and functionalities of SendGrid .NET, guiding you through the initial setup, basic operations, and more advanced features. Whether you're looking to send your first email through code or optimize your email campaigns, this article is your starting point to mastering SendGrid .NET and its integration with IronPDF for PDF manipulation.

Getting Started with SendGrid .NET

First, you need to set up SendGrid .NET in your project. Start by installing the SendGrid .NET package. Use NuGet Package Manager for this. Open Visual Studio, then open the Package Manager Console. Wpisz następujące polecenie:

Install-Package SendGrid

SendGrid .NET (How It Works For Developers): Figure 1 - Installing SendGrid.NET through NuGet Package Manager Console in Visual Studio

This command adds SendGrid to your project. After installation, set up your SendGrid account. You need an API key. Go to the SendGrid website. Create an account if you don't have one. Once logged in, navigate to Settings. Find API Keys. Click Create API Key. Give it a name and select the access level. Copy the API key. You will use this in your application.

Basic Code Example

Now, let's send an email. Create a new instance of the SendGridClient. Pass your API key to the constructor. Then, create a SendGridMessage. Set the sender and recipient email addresses. Add a subject and the email content. Finally, use SendGridClient to send the message. Here is a basic example:

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);
}
Imports SendGrid
Imports SendGrid.Helpers.Mail
Imports System.Threading.Tasks

' Asynchronous method to send an email using SendGrid
Shared Async Function SendEmailAsync() As Task
	' Initialize a SendGrid client with your API key
	Dim client = New SendGridClient("your_api_key")

	' Create a new email message
	Dim message = New SendGridMessage() With {
		.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
	Dim response = Await client.SendEmailAsync(message)
End Function
$vbLabelText   $csharpLabel

This code sends a simple email. It shows the basics of using SendGrid .NET. You can expand from here to use more features.

Implement Features of SendGrid .NET

Sending Emails with Custom HTML Content

To send an email with HTML content, you first create your HTML. Then, use SendGridMessage to set HtmlContent. This lets you design rich emails. Oto jak to zrobić:

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);
}
Imports SendGrid
Imports SendGrid.Helpers.Mail
Imports System.Threading.Tasks

' Asynchronous method to send an email with custom HTML content
Shared Async Function SendCustomHtmlEmailAsync() As Task
	' Initialize a SendGrid client with your API key
	Dim client = New SendGridClient("your_api_key")

	' Create a new email message with rich HTML content
	Dim message = New SendGridMessage() With {
		.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
	Dim response = Await client.SendEmailAsync(message)
End Function
$vbLabelText   $csharpLabel

Using SendGrid SMTP Service

Sometimes, you might prefer SMTP to send emails. SendGrid supports this too. Configure your SMTP settings in SendGrid. Then, use these settings in your application. This method requires setting up an SMTP client with SendGrid's server details. Oto podstawowa konfiguracja:

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);
    }
}
Imports System.Net
Imports System.Net.Mail

' Method to send an email using SendGrid's SMTP service
Private Sub SendSmtpEmail()
	' Configure SMTP client with SendGrid's server details
	Using client = New SmtpClient("smtp.sendgrid.net") With {
		.Port = 587,
		.Credentials = New NetworkCredential("apikey", "your_sendgrid_apikey"),
		.EnableSsl = True
	}
		' Create a new mail message
		Dim mailMessage As New MailMessage With {
			.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)
	End Using
End Sub
$vbLabelText   $csharpLabel

Managing Email Campaigns

SendGrid .NET allows managing email campaigns. Create, send, and track campaigns through the API. For detailed campaign management, refer to SendGrid's API documentation. This feature is beyond basic email sending but is valuable for marketing efforts.

Handling Bounced Emails and Spam Reports

Handling bounces and spam reports is crucial. SendGrid .NET provides webhooks for these events. Set up webhooks in your SendGrid dashboard. Then, process these events in your application. This keeps your email list clean and improves deliverability.

Authenticating Domains

Domain authentication is important for email deliverability. It verifies your domain's ownership. In SendGrid, set up domain authentication via the dashboard. This involves adding DNS records. Once verified, emails appear more trustworthy to recipients and email providers.

Integrate IronPDF with SendGrid

Introduction of IronPDF

SendGrid .NET (How It Works For Developers): Figure 2 - IronPDF homepage

Explore IronPDF capabilities is a library that allows developers to create, edit, and extract PDF content within .NET applications. It provides a straightforward approach to dealing with PDF files programmatically. It makes it easier to work with PDF files without needing deep knowledge of PDF specifications. With IronPDF, developers can convert HTML to PDF using IronPDF anchors, edit existing PDFs, and extract content.

Use Case of Merging IronPDF with SendGrid C

In a business application, financial reports, invoices, or personalized documents need to be generated dynamically and sent to clients or stakeholders via email. IronPDF can be used to create these documents from templates or data sources, converting them into PDF format. Subsequently, using SendGrid's C# client, these PDF documents can be attached to emails and dispatched automatically to the intended recipients.

IronPDF wyróżnia się w konwersji HTML do PDF, zapewniając precyzyjne zachowanie oryginalnych układów i stylów. Idealnie nadaje się do tworzenia plików PDF z treści internetowych, takich jak raporty, faktury i dokumentacja. Dzięki obsłudze plików HTML, adresów URL i surowych ciągów znaków HTML, IronPDF z łatwością tworzy wysokiej jakości dokumenty 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");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

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

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

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Zainstaluj bibliotekę IronPDF

Aby korzystać z IronPDF, należy najpierw zainstalować pakiet NuGet. Najpierw otwórz konsolę NuGet Package Manager, a następnie uruchom następujące polecenie:

Install-Package IronPdf

Przykładowy kod z opisem szczegółów i kroków

Krok 1: Wygeneruj plik PDF za pomocą IronPDF

Najpierw generujemy dokument PDF. Jako przykład stworzymy prosty plik PDF na podstawie ciągu znaków HTML.

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);
Imports IronPdf

' Instantiates a new HtmlToPdf object
Private Renderer = New HtmlToPdf()

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

' Define the output path for the PDF file
Private outputPath = "example.pdf"

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

Krok 2: Skonfiguruj SendGrid

Upewnij się, że masz zainstalowany pakiet SendGrid NuGet:

Install-Package SendGrid

Następnie skonfiguruj SendGrid w swojej aplikacji. Będziesz potrzebować klucza API ze swojego konta SendGrid.

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);
Imports SendGrid
Imports SendGrid.Helpers.Mail

' Initialize SendGrid client with your API key
Private apiKey = "your_sendgrid_api_key"
Private client = New SendGridClient(apiKey)
$vbLabelText   $csharpLabel

Krok 3: Utwórz i wyślij wiadomość e-mail z załącznikiem PDF

Teraz utwórz wiadomość e-mail i załącz wcześniej wygenerowany plik PDF. Na koniec wyślij wiadomość e-mail za pośrednictwem 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);
}
Imports System
Imports System.IO
Imports System.Threading.Tasks
Imports SendGrid
Imports SendGrid.Helpers.Mail

' Asynchronous method to create and send an email with a PDF attachment
Async Function SendEmailWithPdfAttachmentAsync() As Task
	' Define sender and recipient email addresses
	Dim from = New EmailAddress("your_email@example.com", "Your Name")
	Dim subject = "Sending with SendGrid is Fun"
	Dim [to] = New EmailAddress("recipient_email@example.com", "Recipient Name")
	Dim plainTextContent = "Hello, Email!"
	Dim htmlContent = "<strong>Hello, Email!</strong>"

	' Create a new email message
	Dim msg = MailHelper.CreateSingleEmail(from, [to], subject, plainTextContent, htmlContent)

	' Attach the PDF
	Dim bytes = File.ReadAllBytes("example.pdf")
	Dim file = Convert.ToBase64String(bytes)
	msg.AddAttachment("example.pdf", file)

	' Send the email and retrieve the response
	Dim response = Await client.SendEmailAsync(msg)
End Function
$vbLabelText   $csharpLabel

Ten przykład kodu ilustruje generowanie prostego dokumentu PDF, dołączanie go do wiadomości e-mail i wysyłanie za pośrednictwem SendGrid. Jest to prosty proces, który integruje funkcje generowania dokumentów i wysyłania wiadomości e-mail odpowiednio z IronPDF i SendGrid w aplikacji .NET.

Wnioski

SendGrid .NET (How It Works For Developers): Figure 3 - IronPDF licensing page

Podsumowując, niniejszy przewodnik zawiera kompleksowy przegląd integracji SendGrid .NET do obsługi poczty elektronicznej oraz IronPDF for .NET do zarządzania dokumentami PDF w aplikacjach .NET. Postępując zgodnie z opisanymi krokami, programiści mogą efektywnie wdrażać funkcje wysyłania wiadomości e-mail z dostosowywaną treścią HTML i opcjami usługi SMTP oraz zarządzać kampaniami e-mailowymi.

Ponadto integracja z IronPDF umożliwia dynamiczne generowanie i wysyłanie dokumentów PDF, takich jak raporty finansowe lub faktury, co stanowi praktyczny przykład zastosowania tych potężnych bibliotek. Programiści zainteresowani zapoznaniem się z tymi funkcjami mogą skorzystać z bezpłatnej wersji próbnej IronPDF przed zakupem licencji. IronPDF license details and pricing options start from $799.

Często Zadawane Pytania

Jak skonfigurować SendGrid .NET w moim projekcie?

Skonfiguruj SendGrid .NET, instalując pakiet SendGrid za pomocą menedżera pakietów NuGet w Visual Studio. Po instalacji utwórz konto SendGrid i wygeneruj klucz API, aby rozpocząć wysyłanie wiadomości e-mail.

Jakie kroki trzeba wykonać, żeby wysłać e-mail za pomocą SendGrid .NET?

Użyj SendGridClient z kluczem API, utwórz SendGridMessage z niezbędnymi danymi nadawcy i odbiorcy, a następnie wyślij wiadomość za pomocą metody SendEmailAsync klasy SendGridClient.

Jak wysyłać wiadomości e-mail z bogatą zawartością HTML za pomocą SendGrid .NET?

Aby wysłać wiadomości e-mail z bogatą zawartością HTML, przed wysłaniem wiadomości ustaw właściwość HtmlContent obiektu SendGridMessage na własną zawartość HTML.

Czy w aplikacjach .NET można korzystać z protokołu SMTP w połączeniu z SendGrid?

Tak, możesz korzystać z SMTP w SendGrid, konfigurując swojego klienta SMTP z danymi serwera SMTP SendGrid i używając swojego klucza API jako danych uwierzytelniających.

Jak wygenerować dokument PDF w .NET jako załącznik do wiadomości e-mail?

Można wygenerować dokument PDF za pomocą ChromePdfRenderer firmy IronPDF w celu konwersji treści HTML do pliku PDF, który następnie można zapisać za pomocą metody SaveAs.

Jak wygląda proces dołączania pliku PDF do wiadomości e-mail za pomocą SendGrid?

Przekonwertuj plik PDF na tablicę bajtów, zakoduj go do ciągu znaków base64 i użyj metody AddAttachment klasy SendGridMessage, aby załączyć plik PDF do wiadomości e-mail.

Dlaczego uwierzytelnianie domeny jest ważne podczas korzystania z SendGrid?

Uwierzytelnianie domeny ma kluczowe znaczenie, ponieważ weryfikuje ona własność domeny, poprawiając dostarczalność wiadomości e-mail i zapewniając, że odbiorcy postrzegają je jako wiarygodne.

W jaki sposób IronPDF rozszerza funkcjonalność SendGrid w aplikacjach .NET?

IronPDF pozwala programistom tworzyć i edytować dokumenty PDF, które można zintegrować z SendGrid w celu wysyłania wygenerowanych plików PDF jako załączników do wiadomości e-mail, co zwiększa możliwości zarządzania dokumentami.

Jakie są zalety korzystania z SendGrid do zarządzania kampaniami e-mailowymi?

SendGrid zapewnia rozbudowane funkcje do tworzenia, wysyłania i śledzenia kampanii e-mailowych za pośrednictwem swojego API, oferując szczegółowe opcje zarządzania opisane w dokumentacji API SendGrid.

Jak radzić sobie z odrzuceniami i zgłoszeniami o spamie w SendGrid?

Skorzystaj z webhooków SendGrid do obsługi zwrotów i zgłoszeń dotyczących spamu. Webhooki te mogą powiadamiać Twoją aplikację o problemach z dostarczaniem wiadomości e-mail, umożliwiając Ci skuteczne zarządzanie nimi.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie