Skip to content

Enviando E-mail com Objective-C

Enviando E-mail com Objective-C

Review of:

Reviewed by:
Rating:
5
On 5 de dezembro de 2014
Last modified:5 de janeiro de 2015

Summary:

Bom pessoal vamos começar mais um post, hoje vamos desenvolver uma ferramenta extremamente útil e simples, vamos enviar um e-mail sem precisar sair de nosso aplicativo.

Vamos começar

Vamos começar com uma sinlge View e vamos colocar 1 botão nela, e não precisamos de mais nada em nossa interface.

TelaEmail

Para enviar e-mail é necessário que importemos o framework MessageUI ele será o responsável por enviar nossos dados, com a classe importada precisamos agora criar um componente e vamos também importar nosso delegate, nosso arquivo .h está assim:

#import <UIKit/UIKit.h>

#import <MessageUI/MessageUI.h>

@interface ViewController : UIViewController <MFMailComposeViewControllerDelegate>{

MFMailComposeViewController *formularioEmail;

}

  • (IBAction)envia:(UIButton *)sender;

Criamos também a action do botão que fará o disparo do e-mail. Agora vamos para nosso .m onde implementaremos o resto de nosso código:

Dentro de nossa action vamos implementar o seguinte código.

// dentro de nossa action vamos colocar os dados para enviar

// pré defini destinatários (não é necessário)

// NSArray *destinatario = [[NSArray alloc]initWithObjects:@”contato@yesbr.com.br”, nil];

//

// [formularioEmail setToRecipients:destinatario];

formularioEmail = [[MFMailComposeViewController alloc]init];

formularioEmail.mailComposeDelegate = self;

// setSubject adiciona um assunto ao email

[formularioEmail setSubject:@”Email de teste”];

// temos agora o corpo da mensagem

[formularioEmail setMessageBody:@”Enviamos nossa mensagem” isHTML:NO];

[self presentModalViewController:formularioEmail animated:YES];

A vantagem de usar esses métodos que já temos tudo criado pelo celular apenas chamamos o formulário de e-mail, o que torna todo o processo muito mais simples, e intuitivo para o usuário.

Os comentários já deixam o código bem fácil de entender mas vamos explicar apenas a questão de destinatários, em algumas situações, o aplicativo tem que enviar e-mail para um destinatário específico por exemplo um formulário de contato enviará o e-mail para o contato, nessa situação podemos implementar o setToRecipents e colocamos os destinatários em um array para poder enviar o e-mail a vários usuários por vez.

Feito a implementação de nossa ação para envio vamos obter a resposta se nosso e-mail foi ou não enviado. Para isso vamos implementar o seguinte método nele com base na resposta celular mostra um alerta se o e-mail foi ou não enviado com sucesso.

-(void)mailComposeController:(MFMailComposeViewController *)controller

didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{

UIAlertView *mensagem;

if (result) {

mensagem = [[UIAlertView alloc]initWithTitle:@”Enviado” message:@”Email enviado com sucesso” delegate:self cancelButtonTitle:@”ok” otherButtonTitles:nil, nil];

}

if (error) {

mensagem = [[UIAlertView alloc]initWithTitle:@”Erro” message:@”Erro ao enviar mensagem” delegate:self cancelButtonTitle:@”ok” otherButtonTitles:nil, nil];

}

[mensagem show];

[self dismissViewControllerAnimated:YES completion:nil];

}

Bom pessoal esse projeto foi extremamente simples, porém é bem interessante para implementar no seus apps.

No comment yet, add your voice below!


Add a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *