Simple Mail Transfer Protocol(SMTP) är det vanligaste e-postprotokollet som hanterar att skicka e-postmeddelanden från klientapplikationer till e-postservern. I olika fall implementeras e-postklienterna i .NET-applikationer för att skicka e-post via SMTP. För sådana scenarier beskriver den här artikeln hur du ansluter till en SMTP-server programmatiskt med C#. Dessutom visar kodexemplen hur man skickar ett e-postmeddelande via SMTP-klient efter att anslutningen upprättats.
C# API för att ansluta SMTP-server
Aspose.Email for .NET är ett C# API som är designat för att skapa kraftfulla e-postklientapplikationer. API:et gör det möjligt att utföra komplexa e-postoperationer ganska enkelt inom några få rader kod. Dessutom låter den dig ansluta SMTP-servrar via SOCKS och HTTP-proxyservrar. Du kan antingen ladda ner API:s DLL eller installera den med NuGet.
PM> Install-Package Aspose.Email
Anslut till SMTP-server med C#
Innan du ansluter till en SMTP-server måste du ha följande saker kända.
- Användarnamn
- Lösenord
- Hamn
När du har dem kan du konfigurera SMTP-klienten genom att använda följande steg.
- Skapa ett objekt av klassen SmtpClient.
- Ställ in användarnamn, lösenord och portnummer med egenskaperna SmtpClient.Username, SmtpClient.Password respektive SmtpClient.Port.
- Ställ in säkerhetsalternativ med egenskapen SmtpClient.SecurityOptions.
Följande kodexempel visar hur man ställer in API:et för en SMTP-anslutning i C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");
// Ställ in användarnamn, lösenord, port och säkerhetsalternativ
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
När du har konfigurerat API:t kan du ansluta till en SMTP-server med något av följande alternativ.
Anslut till SMTP via SOCKS Proxy Server i C#
Aspose.Email ger stöd för version 4, 4a och 5 av SOCKS proxyprotokoll. Följande är stegen för att ansluta till en SMTP-server via en SOCKS-proxyserver med Aspose.Email för .NET.
- Initiera SmtpClient med värdadress, användarnamn, lösenord och andra inställningar.
- Skapa ett objekt av klassen SocksProxy och ställ in adressen och porten.
- Ställ in klientens proxy med SmtpClient.Proxy egenskap.
- Skicka e-post med metoden SmtpClient.Send().
Följande kodexempel visar hur man ansluter till en SMTP-server via SOCKS-proxy med C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
string proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.Proxy = proxy;
client.Send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
Anslut till SMTP-server via HTTP-proxyserver
Följande är stegen för att ansluta till en SMTP-server via en HTTP-proxyserver.
- Skapa en instans av klassen HttpProxy och initiera den med IP och portnummer.
- Skapa och konfigurera objektet SmtpClient.
- Ställ in HTTP-proxy med egenskapen SmtpClient.Proxy.
- Skicka e-post med metoden SmtpClient.Send().
Följande kodexempel visar hur man ansluter till en SMTP-server via HTTP-proxyserver.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-email/Aspose.Email-for-.NET
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
using (SmtpClient client = new SmtpClient("host", 587, "username", "password"))
{
client.Proxy = proxy;
client.Send(new MailMessage(
"from@domain.com",
"to@domain.com",
"NETWORKNET-34226 - " + Guid.NewGuid().ToString(),
"NETWORKNET-34226 Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}
Skaffa en gratis API-licens
Du kan prova och använda Aspose.Email för .NET gratis genom att skaffa en tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du ansluter till en SMTP-server med C#. Dessutom har steg-för-steg-guiden och kodexempel visat hur man ansluter till SMTP-servern via SOCKS och HTTP-proxyservrar. Du kan utforska mer om C# email API med dokumentation.