O C# pode enviar mensagens de correio eletrónico com o .NET Framework com bastante facilidade, especialmente através do protocolo SMTP. O protocolo SMTP é uma forma comum de enviar e-mails.
Uma vez que os e-mails SMTP requerem um servidor SMTP para serem enviados, é provavelmente mais fácil utilizar o servidor Gmail da Google. Assim, é necessária uma conta Gmail, que é simples e gratuita de criar. Depois de ter uma conta Gmail, enviar mensagens de correio eletrónico SMTP com o C# é muito fácil. O truque é utilizar o espaço de nomes System.Net.Mail em vez de System.Web.Mail. O segundo espaço de nomes foi substituído por System.Net a partir do .NET Framework 2.0.
Mas o que é que faz para se ligar ao servidor do Google? São necessárias algumas informações. A primeira é que o endereço do servidor SMTP do Gmail é smtp.gmail.com. A segunda coisa que precisa de saber é que a aplicação C# deve ligar-se através da porta 587. Como é que sabemos isto? A informação é fornecida gratuitamente aos programadores pela Google. Outros servidores SMTP também fornecem o seu próprio endereço e porta de ligação.
No entanto, ainda há mais uma coisa: a maioria dos servidores SMTP precisa de autenticação para enviar os seus e-mails. É aqui que a conta do Gmail entra em jogo. Utilizando a classe NetworkCredential .NET, especifique o seu nome de utilizador e a sua palavra-passe. Isso autenticará sua conexão com o servidor. Certifique-se de que o seu nome de utilizador inclui @gmail.com.
Tudo é tratado através da classe SmtpClient. A classe encapsula algumas funções bastante poderosas, incluindo a adição de anexos e o envio de mensagens de correio eletrónico em HTML. Os e-mails HTML são e-mails escritos com código HTML e exibidos como páginas da Web. Embora dependa do cliente de correio eletrónico, a maioria dos clientes consegue ler mensagens HTML sem problemas, permitindo que a aplicação C# envie mensagens com imagens e texto formatado. A classe SmtpClient também permite que os programadores adicionem cabeçalhos, que podem ajustar o comportamento dos e-mails. No entanto, tenha em atenção que alguns servidores SMTP, como o do Google, ignoram determinados cabeçalhos e utilizam apenas a informação da sua conta. Por exemplo, a definição do campo De para outra coisa será ignorada pelo GMail, que definirá automaticamente o campo De para o seu endereço de correio eletrónico.
Por último, certifique-se de que o SSL está ativado na aplicação C#. O SSL é um protocolo de encriptação e é absolutamente necessário, caso contrário o servidor do Gmail não aceitará a sua ligação.
