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.
- Crie um objeto da classe SmtpClient.
- Defina o nome de usuário, a senha e o número da porta usando as propriedades SmtpClient.Username, SmtpClient.Password e SmtpClient.Port, respectivamente.
- Defina as opções de segurança usando a propriedade SmtpClient.SecurityOptions.
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.
- Crie uma instância da classe HttpProxy e inicialize-a com o IP e o número da porta.
- Crie e configure o objeto SmtpClient.
- Defina o proxy HTTP 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 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.