Conecte-se a servidores SMTP usando C#

Simple Mail Transfer Protocol (SMTP) é o protocolo de e-mail mais comumente usado que lida com o envio de mensagens de e-mail de aplicativos clientes para o servidor de e-mail. Em vários casos, os clientes de e-mail são implementados em aplicativos .NET para enviar e-mails via SMTP. Para esses cenários, este artigo aborda como se conectar a um servidor SMTP programaticamente usando C#. Além disso, os exemplos de código demonstram como enviar um e-mail via cliente SMTP após o estabelecimento da conexão.

API C# para conectar o servidor SMTP

Aspose.Email for .NET é uma API C# projetada para criar aplicativos de cliente de e-mail poderosos. A API torna possível realizar operações de e-mail complexas com bastante facilidade em poucas linhas de código. Além disso, permite conectar servidores SMTP via SOCKS e servidores proxy HTTP. Você pode baixar a DLL da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.Email

Conecte-se ao servidor SMTP usando C#

Antes de se conectar a um servidor SMTP, você precisa saber o seguinte.

  • Nome de usuário
  • Senha
  • Porta

Depois de tê-los, você pode configurar o cliente SMTP usando as etapas a seguir.

O exemplo de código a seguir mostra como configurar a API para uma conexão SMTP em C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Definir nome de usuário, senha, porta e opções de segurança
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Depois de configurar a API, você pode se conectar a um servidor SMTP usando uma das opções a seguir.

Conecte-se ao SMTP via SOCKS Proxy Server em C#

Aspose.Email oferece suporte para as versões 4, 4a e 5 do protocolo proxy SOCKS. A seguir estão as etapas para se conectar a um servidor SMTP por meio de um servidor proxy SOCKS usando Aspose.Email para .NET.

  • Inicialize SmtpClient com o endereço do host, nome de usuário, senha e outras configurações.
  • Crie um objeto da classe SocksProxy e defina o endereço e a porta.
  • Defina o proxy do cliente usando a propriedade SmtpClient.Proxy.
  • Envie e-mail usando o método SmtpClient.Send().

O exemplo de código a seguir mostra como se conectar a um servidor SMTP por meio do proxy SOCKS usando C#.

// Para exemplos completos e arquivos de dados, acesse 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)"));

Conecte-se ao servidor SMTP via servidor proxy HTTP

A seguir estão as etapas para se conectar a um servidor SMTP por meio de um servidor proxy HTTP.

O exemplo de código a seguir mostra como se conectar a um servidor SMTP por meio do servidor proxy HTTP.

// Para exemplos completos e arquivos de dados, acesse 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)"));
}

Obtenha uma licença de API gratuita

Você pode tentar usar o Aspose.Email para .NET gratuitamente obtendo uma licença temporária.

Conclusão

Neste artigo, você aprendeu como se conectar a um servidor SMTP usando C#. Além disso, o guia passo a passo e os exemplos de código mostraram como se conectar ao servidor SMTP por meio de servidores proxy SOCKS e HTTP. Você pode explorar mais sobre a API de email C# usando documentação.

Veja também