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.

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....
|