Enviando e-mail com Silverlight - Parte II

Enviando e-mail com Silverlight - Parte II

 


Este artigo requer a leitura do artigo Enviando e-mail com Silverlight Parte I. Na primeira parte foi demonstrada a utilização da classe System.Net.Mail e o uso do WebServices.
A partir disso, neste artigo será criado um formulário para envio de mensagens, e utilizar o Serviço para esta finalidade.
Então crie uma interface similar à apresentada na Figura 01.

Figura 01 – Formulário de envio de mensagens
A Listagem 01 mostra os objetos utilizados com as respectivas propriedades configuradas.

 

Objeto

Content ou Text

Name

2 - Button

Enviar, Limpar

btnEnviar, btnLimpar

4 - TextBlock

Nome, Email, Assunto, Mensagem


4 – TextBox


txtNome, txtEmail, txtAssunto, txtMensagem

Listagem 01 – Objetos e propriedades

Agora no code-behind, MainPage.xaml.cs, inclua as namespaces como mostrada na Listagem 02.

 

using App_Email.ServiceEmail;

using System.ServiceModel;

Listagem 02 – Namespace

Na Listagem 03 será mostrado o código completo para você brincar, ou seja, analise e poste suas dúvidas, pois só assim aprendemos.

namespace App_Email

{

public partial class MainPage : UserControl

{

public MainPage()

{

InitializeComponent();

btnEnviar.Click += new RoutedEventHandler(btnEnviar_Click);

btnLimpar.Click += new RoutedEventHandler(btnLimpar_Click);

txtNome.Focus();

}

void btnLimpar_Click(object sender, RoutedEventArgs e)

{

LimparCampos();

txtResultado.Text = "";

}

void mailServ_EnviarEmailCompleted(object sender, EnviarEmailCompletedEventArgs e)

{

if (e.Error == null)

{

txtResultado.Visibility = Visibility.Visible;

txtResultado.Text = "Informações enviadas com Sucesso. Obrigado!";

txtResultado.Visibility = Visibility.Visible;

LimparCampos();

}

else

{

txtResultado.Text = "Oops.. erro no envio da informação. Tente novamente!";

txtResultado.Visibility = Visibility.Visible;

}

}

void btnEnviar_Click(object sender, RoutedEventArgs e)

{

try

{

BasicHttpBinding bind = new BasicHttpBinding();

EndpointAddress endpoint = new EndpointAddress("http://localhost:50325/Email.asmx");

ServiceEmail.EmailSoapClient mailServ = new App_Email.ServiceEmail.EmailSoapClient(bind, endpoint);

mailServ.EnviarEmailAsync(txtNome.Text, txtEmail.Text, txtAssunto.Text, txtMensagem.Text);

mailServ.EnviarEmailCompleted += new EventHandler<EnviarEmailCompletedEventArgs>(mailServ_EnviarEmailCompleted);

}

catch (Exception ex)

{

txtMensagem.Text = ex.Message;

}

}

private void LimparCampos()

{

txtMensagem.Text = "";

txtNome.Text = "";

txtAssunto.Text = "";

txtEmail.Text = "";

}

private void txtEmail_LostFocus(object sender, System.Windows.RoutedEventArgs e)

{

txtResultado.Visibility = Visibility.Visible;

}

}

}

Listagem 03 – Código completo

Obrigada e espero que tenha gostado.


blog comments powered by Disqus

NewsLetter

Por favor preencher os campos.
Quer receber artigos?


Receber em HTML?