terça-feira, 24 de março de 2009

Como enviar emails utilizando ASP.NET



No ASP.Net é possível enviar email em formato texto ou html, com ou sem arquivos anexos, sem utilizar um componente específico para isso, através apenas de programação. Seguem abaixo dois exemplos de envio de email pelo ASP.Net utilizando a linguagem C#.

• Enviar Mensagens no Formato Texto

email1.aspx

<%@ Page Language="C#" %>
<%@ Import Namespace="System" %>
<!--Inclui o namespace para envio de emails -->
<%@ Import Namespace="System.Web.Mail" %>
<html>
<script runat="server">
public void Page_Load(Object Sender, EventArgs e)
{

//Instancia o Objeto Email como MailMessage
MailMessage Email = new MailMessage();

//Atribui ao método From o valor do Remetente
Email.From = "seunome@xyz.com.br";

//Atribui ao método To o valor do Destinatário
Email.To = "email@dominio";


//Atribui ao método Cc o valor do com Cópia
Email.Cc = "email2@dominio";

//Atribui ao método Bcc o valor do com Cópia oculta
Email.Bcc = "email3@dominio";

//Atribui ao método Subject o assunto da mensagem
Email.Subject = "Teste de Envio de mensagens";

//Define o formato da mensagem que pode ser Texto ou Html
Email.BodyFormat = MailFormat.Text;

//Atribui ao método Body a texto da mensagem
Email.Body = "Texto da mensagem";

//Define qual o host a ser usado para envio de mensagens.
SmtpMail.SmtpServer = "localhost";

//Envia a mensagem baseado nos dados do objeto Email
SmtpMail.Send(Email);

//Escreve no label que a mensagem foi enviada
Response.Write("Email enviado com sucesso!");
}
</script>
</html>



• Mensagens no Formato Texto com a Inclusão de Anexos

<%@ Page Language="C#" %>
<%@ import Namespace="System" %>
<!--Inclui o namespace para envio de emails -->
<%@ Import Namespace="System.Web.Mail" %>


<html>

<script runat="server">

public void Page_Load(Object Sender, EventArgs e)
{

//Instancia o Objeto Email como MailMessage
MailMessage Email = new MailMessage();

//Atribui ao método From o valor do Remetente
Email.From = "seunome@xyz.com.br";

//Atribui ao método To o valor do Destinatário
Email.To = "email@dominio";

//Atribui ao método Cc o valor do com Cópia
Email.Cc = "email2@dominio";

//Atribui ao método Bcc o valor do com Cópia oculta
Email.Bcc = "email3@dominio";

//Atribui ao método Subject o assunto da mensagem
Email.Subject = "Teste de Envio de mensagens";

//Define o formato da mensagem que pode ser Texto ou Html
Email.BodyFormat = MailFormat.Text;

//Atribui ao método Body a texto da mensagem
Email.Body = "Texto da mensagem";

//Inclui o arquivo anexo especificado na
Email.Attachments.Add(new MailAttachment ("e:\\home\\seulogin_ftp\\web\\arquivo.gif"));


//Define qual o host a ser usado para envio de mensagens.
SmtpMail.SmtpServer = "localhost";

//Envia a mensagem baseado nos dados do objeto Email
SmtpMail.Send(Email);

//Escreve no label que a mensagem foi enviada
Response.Write("Email enviado com sucesso!");
}

</script>

</html>



• Enviar Mensagens no Formato HTML

Em muitas das mensagens no formato Html costuma ter imagens e logos na mensagem então no texto html você não precisa especificar a url inteira se usar o comando Email.UrlContentBase = “http://www.xyz.com.br” ele inclui a url base para as imagens que forma usadas no código html, por exemplo, você especificaria a imagem que estaria em http://www.xyz.com.br/imagens/logo.gif como apenas imagens/logo.gif

<%@ Page Language="C#" %>
<!--Inclui o namespace para envio de emails -->
<%@ import Namespace="System" %>
<%@ Import Namespace="System.Web.Mail" %>
<html>
<script runat="server">

public void Page_Load(Object Sender, EventArgs e)
{

//Instancia o Objeto Email como MailMessage
MailMessage Email = new MailMessage();

//Atribui ao método From o valor do Remetente
Email.From = "seunome@xyz.com.br";

//Atribui ao método To o valor do Destinatário
Email.To = "email@dominio";


//Atribui ao método Cc o valor do com Cópia
Email.Cc = "email2@dominio";

//Atribui ao método Bcc o valor do com Cópia oculta
Email.Bcc = "email3@dominio";

//Atribui ao método Subject o assunto da mensagem
Email.Subject = "Teste de Envio de mensagens";

//Define o formato da mensagem que pode ser Texto ou Html
Email.BodyFormat = MailFormat.Html;

//Atribui ao método Body a texto da mensagem
Email.Body = "Texto da mensagem";

//Define qual a url que deve ser usada como caminho para as imagens informadas no código html
Email.UrlContentBase = "http://www.xyz.com.br";

//Define qual o host a ser usado para envio de mensagens.
SmtpMail.SmtpServer = "localhost";

//Envia a mensagem baseado nos dados do objeto Email
SmtpMail.Send(Email);

//Escreve no label que a mensagem foi enviada
Response.Write("Email enviado com sucesso!");
}

</script>

</html>


Fonte: Locaweb.

1 comentários:

Anônimo disse...

e com servidor que requer autenticação?

Postar um comentário