1 de out. de 2009

e-mail com C#

Já me perguntaram várias vezes, e em quase todo sistema que desenvolvo tenho minha "assemblysinha" para mandar e-mail registrada, vejam como é fácil:

        public void EnviarEmail(string emailDestino, string titulo, string mensagem)
        {
            // -> Necessário: System.Net; System.Net.Mail;

            MailMessage email = new MailMessage();
            SmtpClient smtp;

            try
            {
                smtp = new SmtpClient("smtp.seuhostsmtp.com.br");

                // -> esta linha só é necessária caso o servidor de smtp pedir autenticação.
                smtp.Credentials = new NetworkCredential("usuário", "senha");

                email.From = new MailAddress("seuemail@seuprovedor.com");
                email.To.Add(emailDestino);
                email.Subject = titulo;
                email.Body = mensagem;

                // -> Notificação de sucesso
                email.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;

                // -> A confirmação de leitura é realizada alterando o cabeçalho Disposition-Notification-To
                email.Headers.Add("Disposition-Notification-To", string.Format("<{0}>", email.From));

                smtp.Send(email);
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Erro ao Enviar e-mail. Detalhes: {0}", ex.Message));
            }
        }

Neste exemplo temos os controles de notificação de recebimento e leitura... em breve estarei postando um artigo sobre como enviar e-mail com anexo e formatação html e outros detalhes

até mais

0 comentários: