Aspose.Email  per .NET

Invia email via SMTP in C#

Un metodo sicuro e flessibile per inviare email in C# usando SMTP, OAuth e TLS. Include supporto asincrono e compatibilità multipiattaforma.

  Scarica la prova gratuita

Client SMTP C# per la consegna sicura delle email

SMTP (Simple Mail Transfer Protocol) è il protocollo standard per l’invio di email attraverso le reti. Opera al livello applicazione del modello TCP/IP, garantendo una trasmissione affidabile ed efficiente dei dati tra server, dispositivi e utenti.

Aspose.Email per .NET semplifica l’uso del protocollo nelle applicazioni .NET con un’API sicura e moderna. La libreria fornisce un’API moderna e ricca di funzionalità SmtpClient progettato per soddisfare le esigenze delle applicazioni moderne, sicure e ad alte prestazioni. Come potente alternativa al superato System.Net.Mail.SmtpClient, semplifica la trasmissione di posta negli ambienti .NET astraendo le complesse operazioni a livello di protocollo e offrendo funzionalità robuste per una consegna sicura e flessibile.

Con il supporto per protocolli moderni come OAuth 2.0 e SSL/TLS, operazioni asincrone senza soluzione di continuità e compatibilità su più piattaforme, è una soluzione ideale per gli sviluppatori che costruiscono sistemi scalabili senza preoccuparsi dell’implementazione a basso livello della meccanica SMTP.

Caratteristiche principali del client SMTP Aspose.Email:

  • Autenticazione OAuth 2.0 per invio sicuro basato su token

  • Crittografia SSL/TLS con negoziazione di sicurezza automatica o configurabile

  • Invio asincrono per operazioni non bloccanti in servizi web e in background

  • Supporto multipiattaforma su Windows, Linux e macOS

  • Metodi di consegna flessibili: rete, directory di raccolta o servizio SMTP IIS

  • Supporto completo ai proxy per operare in modo sicuro in ambienti restrittivi

  • Gestione ricca dei formati, inclusi MSG, EML, MHT, PST e altri

  • Elaborazione integrata dei messaggi: analizzare, manipolare e gestire il contenuto delle email

  • API semplice e di alto livello che astrae le complessità del protocollo SMTP

Concentrati sulla creazione del contenuto e della logica di business, mentre Aspose.Email gestisce in modo affidabile la comunicazione con il server, la formattazione dei messaggi e la consegna sicura. La libreria offre tutte le classi e i metodi necessari per effettuare configurazioni desiderate in C#. È una libreria potente che permette di lavorare con i messaggi e fornisce funzionalità per inviarli, riceverli e manipolarli. Gli sviluppatori .NET possono sfruttare le sue capacità per ottenere un inoltro di posta efficace.

Esempio C#: Inviare email usando il client SMTP

L’invio di email SMTP in C# è semplificato gestendo internamente la formattazione del messaggio, la connessione al server, la crittografia e l’autenticazione. Gli sviluppatori non devono più gestire manualmente i dettagli a basso livello del protocollo SMTP: basta configurare il client e inviare. Questo rende facile implementare funzionalità email in applicazioni ASP.NET e .NET usando la sintassi C# familiare.

  1. Crea un messaggio usando il MailMessage classe.

  2. Configura il client SMTP con l’indirizzo del server, la porta, le credenziali e le impostazioni di crittografia.

  3. Invia il messaggio usando SmtpClient.Send().

Codice di esempio per inviare email - C#

// Create a message
MailMessage message = new MailMessage();
message.From = new MailAddress("sender@example.com");
message.To.Add("recipient@example.com");
message.Subject = "Test Email";
message.Body = "This is a test email sent using Aspose.Email SMTP client.";

// Set up the SMTP client
SmtpClient client = new SmtpClient("smtp.example.com", 587);
client.Username = "your_smtp_username";
client.Password = "your_smtp_password";
client.SecurityOptions = SecurityOptions.Auto; // SSL/TLS negotiation

// Send the email
try
{
    client.Send(message);
    Console.WriteLine("Email sent successfully!");
}
catch (SmtpException ex)
{
    Console.WriteLine("Failed to send email: " + ex.Message);
}

Questo esempio di client SMTP C# utilizza la porta 587 (STARTTLS) e negozia automaticamente la crittografia SSL/TLS sicura. È pienamente compatibile con fornitori SMTP popolari come Gmail, Outlook o server di posta aziendali. Per i progetti ASP.NET, l’invio asincrono con SendAsync() è anche supportato.

Invia email in modo asincrono via SMTP in C#

L’invio asincrono è essenziale per applicazioni web ad alte prestazioni, soprattutto quando i server SMTP possono impiegare tempo a rispondere o a ritentare la consegna. Aspose.Email per .NET supporta operazioni SMTP asincrone usando il Task-based Asynchronous Pattern (TAP).

Il seguente esempio di codice dimostra come creare un messaggio e prepararlo per l’invio usando un metodo asincrono con SMTP:

Esempio di codice per l'invio asincrono di messaggi

// Create and send a message
var message = new MailMessage("from@domain.com", "to@domain.com", "Async Subject", "Async Body");
var sendOptions = SmtpSend.Create();
sendOptions.AddMessage(message);

await client.SendAsync(sendOptions);
Console.WriteLine("Email sent asynchronously.");

Per ulteriori informazioni e esempi di codice, consulta il Client SMTP per inviare email, inoltrare messaggi e eseguire Mail Merge in C# nella nostra documentazione utenti.

Invia email usando OAuth 2.0

I server SMTP moderni - soprattutto quelli di Microsoft (Outlook 365) e Google - richiedono OAuth 2.0 per un’autenticazione sicura senza password. Aspose.Email per .NET supporta pienamente l’invio di messaggi con token OAuth 2.0, eliminando la necessità di memorizzare le credenziali degli utenti.

Prova il seguente esempio di codice che dimostra come autenticarsi con OAuth e inviare un messaggio:

Autenticazione OAuth 2.0 - C#

// Set up OAuth2 credentials
var tokenProvider = new TokenProvider(clientId, tenantId, redirectUri, scopes);

// Create the SMTP client using OAuth2 and connect
var client = await SmtpClient.CreateAsync("smtp.office365.com", username, tokenProvider, 587);

// Compose and send the message
var message = new MailMessage("sender@domain.com", "recipient@domain.com", "OAuth Subject", "Secure email body");
var options = SmtpSend.Create();
options.AddMessage(message);

await client.SendAsync(options);
Console.WriteLine("Message sent securely via OAuth 2.0.");

Installa Aspose.Email per .NET

Per iniziare a usare la libreria, devi installarla nel tuo progetto. Il modo più semplice è usare NuGet Package Manager:

Opzione 1: Utilizzare Visual Studio

  1. Apri il tuo progetto C# in Visual Studio.

  2. Fai clic con il pulsante destro sul nome del progetto in Solution Explorer e seleziona Gestisci pacchetti NuGet.

  3. Cerca Aspose.Email e fai clic su Installa.

Opzione 2: Uso di .NET CLI

Esegui il seguente comando nel tuo terminale:

dotnet add package Aspose.Email

La compatibilità con .NET Framework, .NET Core e .NET 5/6/7+ lo rende ideale per applicazioni moderne desktop, web e basate su cloud.

Scopri di più con Aspose.Email per .NET

Oltre SMTP, la libreria consente una completa elaborazione delle email - dalla creazione e analisi dei messaggi alla gestione dei file PST/OST, lavorando con Microsoft Exchange, e l’integrazione con Microsoft Graph. Supporta la stampa unione, la programmazione di appuntamenti e conversioni complesse (EML ↔ MSG, MBOX ↔ PST, ecc.), il tutto senza necessità di Microsoft Outlook o dipendenze interop.

Scopri tutto ciò che puoi creare: Visualizza l’elenco completo delle funzionalità