Olá pessoal, hoje gostaria de mostrar como enviar um email com arquivo em anexo usando a linguagem C#.NET. Procurei fazer um método simples e fácil para entendimento, assim você não perde muito tempo analisando o código.
ReferĂŞncia:
Ferramenta Visual Studio .NET
Linguagem C#.NET
Criação de um método genérico
Uso: qualquer plataforma .NET (Web ou Windows Forms)
Criei um mĂ©todo bem genĂ©rico e com ele pode ser enviado email com arquivo em anexo. O email para ser enviado com anexo precisa de usar um FileStream que passei como parâmetro na chamada do mĂ©todo. Depois utilizei o Attachments para mandar o mesmo por e-mail com um tĂtulo fixo.
using System;
using System.IO;
using System.Net.Mail;
Code 1
A primeira coisa foi importar as classes citadas acima. (Code 1). O próximo código é o método criado chamado EnviarEmail. Note que eu passo o nome do servidor, de, para, assunto, corpo da mensagem, cópia oculta e o arquivo em anexo. (Code 2).
Método genérico
public static void EnviarEmail(string server, string From, string to, string subject, string body, string Cc, FileStream fileStream)
{
SmtpClient smtp = new SmtpClient(server); //"10.0.3.0";
MailMessage mailSend = new MailMessage();
mailSend.From = new MailAddress(From.Replace(';', ','));
mailSend.To.Add(to.Replace(';', ','));
if (!String.IsNullOrEmpty(Cc))
mailSend.CC.Add(Cc);
mailSend.Subject = subject;
mailSend.SubjectEncoding = System.Text.Encoding.UTF8;
mailSend.Body = body;
mailSend.BodyEncoding = System.Text.Encoding.UTF8;
mailSend.IsBodyHtml = true;
mailSend.Attachments.Add(new Attachment(fileStream, "attachment"));
smtp.Send(mailSend);
}
Code 2.
Note que o arquivo anexado do tipo FileStream pega o dado e anexa colocando um tĂtulo de “attachment”. No meio do cĂłdigo eu verifico a questĂŁo da cĂłpia oculta, caso nĂŁo houver basta mandar null.
Uso do método genérico
FileStream fileToAttach = File.Open(@"c:\MeuArquivo.txt", FileMode.Open); //Ler arquivo do file system
EnviarEmail(server, From, to, subject, body, Cc, fileToAttach);
Bom, espero que tenha ajudado em alguma coisa e qualquer dĂşvida pode entrar em contato.