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 gratuitaClient 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.
Crea un messaggio usando il MailMessage classe.
Configura il client SMTP con l’indirizzo del server, la porta, le credenziali e le impostazioni di crittografia.
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
Apri il tuo progetto C# in Visual Studio.
Fai clic con il pulsante destro sul nome del progetto in Solution Explorer e seleziona Gestisci pacchetti NuGet.
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à