Enviando e-mail com Silverlight - Parte I


Enviando e-mail com Silverlight - Parte I

 

Neste primeiro artigo, de forma sucinta, será mostrado os primeiros passos para enviar email numa aplicação Silverlight utilizando o ambiente de desenvolvimento Visual Studio e a linguagem C#. Para enviar emails no Silverlight é necessário utilizar algum tipo de Serviço que possibilite importar a classe que contém os métodos e as propriedades necessárias para a utilização dos protocolos SMTP e POP. Neste caso, pode-se usar a classe System.Net.Mail.

Antes de começar a desenvolver o exemplo, veja na Listagem 01 as principais propriedades e métodos da classe Mail.

Body

Corpo do e-mail

Subject

Assunto

From

Origem

To

Destino

IsBodyHtml

HTML ou não

Attachments

Anexar arquivos

CC

Enviar uma cópia para

Listagem 01 – Propriedades e métodos

Inicie um projeto Silverlight e adicione dentro da aplicação Web um Web Service, e atribua o nome de Email.asmx. A Figura 01 mostra como deve estar sua aplicação.

projeto Silverlight

Figura 01 – Estrutura da Aplicação

Abra o arquivo Web.config e adicione as configurações de e-mail de seu servidor smtp, o qual deverá estar similar ao código apresentado na Listagem 02.

<system.net>

<mailSettings>

<smtp deliveryMethod="Network" from=" Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. ">

<network host="EndereçodeHost" port="25" userName="seu nome" password="suasenha"/>

</smtp>

</mailSettings>

</system.net>

 

Listagem 02 – Configuração de email

Abra o arquivo Email.asmx.cs, e adicione as namespace de acordo com a Listagem 03.

using System.Net.Mail;

using System.Configuration;

using System.Net.Configuration;

using System.Net;

Listagem 03 – Adicionando namespace no WebService

A Listagem 04 traz o código a ser utilizado para enviar uma mensagem

[WebMethod]

public bool EnviarEmail(string nome, string email, string assunto, string mensagem)

{

 

try

{

string msg = nome + "<br/>" + email + "<br/>" + mensagem;

 

Configuration config = WebConfigurationManager.OpenWebConfiguration

(HttpContext.Current.Request.ApplicationPath);

MailSettingsSectionGroup settings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings");

MailMessage mailer = new MailMessage();

MailAddress mail = new MailAddress(settings.Smtp.From);

mailer.IsBodyHtml = true;

mailer.From = mail;

 

 

MailAddress mailTo = new MailAddress(settings.Smtp.From);

mailer.To.Add(mailTo);

mailer.Subject = assunto.Trim();

//mailer.Priority = MailPriority.Normal;

mailer.Body = msg;

 

SmtpClient smtp = new SmtpClient();

 

NetworkCredential cred = new NetworkCredential(settings.Smtp.From, settings.Smtp.Network.Password);

 

smtp.Credentials = cred;

 

smtp.EnableSsl = false;

 

smtp.Send(mailer);

 

 

return true;

}

catch (Exception ex)

{

string e = ex.Message;

return false;

 

}

}

 

Listagem 04 – Método para enviar mensagem

Analisando a Listagem 04 de forma sucinta, observa-se que: A primeira tarefa é ler a seção de grupo do mailSettings a partir do arquivo web.config. Para realizar essa tarefa, será necessário criar um objeto do tipo System.Configuration.Configuration. Este objeto irá guardar nosso arquivo web.config. O método OpenWebConfiguration irá procurar um caminho relativo. Já o uso da classe MailSettingsSectionGroup permitiu pegar os dados do grupo system.net.

Compile a aplicação e referencie o WEBSERVICE no projeto Silverlight, forneça o nome da Namespace de ServiceEmail.

No segundo artigo, iremos construir a interface e o código para utilizar o método enviar.
Obrigada e continua no próximo artigo....

 


blog comments powered by Disqus

NewsLetter

Por favor preencher os campos.
Quer receber artigos?


Receber em HTML?