Quero enviar um email do meu aplicativo para iPhone. Ouvi dizer que o SDK do iOS não tem uma API de email. Não quero usar o seguinte código, pois ele sairá do meu aplicativo:
NSString *url = [NSString stringWithString: @"mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
Então, como posso enviar um email do meu aplicativo?
ios
iphone
email
cocoa-touch
Khushi
fonte
fonte
presentModalViewController:animated:
edismissModalViewControllerAnimated:
foram marcados como obsoletos - em vez disso, os métodos de substituição baseados em blocospresentViewController:animated:completion:
edismissViewControllerAnimated:completion:
devem ser usados.@interface viewController : UIViewController <MFMailComposeViewControllerDelegate>
[self presentModalViewController:controller animated:YES];
substitua[self presentViewController:controller animated:YES completion:nil];
e[self dismissModalViewControllerAnimated:YES];
substitua-o por[self dismissViewControllerAnimated:YES completion:nil];
O MFMailComposeViewController é o caminho a seguir após o lançamento do software iPhone OS 3.0. Você pode olhar o código de exemplo ou o tutorial que escrevi .
fonte
Gostaria de acrescentar algumas coisas aqui:
O uso do URL mailto não funcionará no simulador, pois o mail.app não está instalado no simulador. Mas funciona no dispositivo.
Há um limite para o comprimento do URL mailto. Se o URL tiver mais de 4096 caracteres, o mail.app não será iniciado.
Há uma nova classe no OS 3.0 que permite enviar um email sem sair do aplicativo. Veja a classe MFMailComposeViewController.
fonte
Se você deseja enviar um email do seu aplicativo, o código acima é a única maneira de fazê-lo, a menos que você codifique seu próprio cliente de email (SMTP) dentro do seu aplicativo ou que um servidor envie o email para você.
Por exemplo, você pode codificar seu aplicativo para chamar um URL no servidor que enviará o email para você. Então você simplesmente chama o URL do seu código.
Observe que, com o código acima, você não pode anexar nada ao email, o que o método do cliente SMTP permitiria, assim como o método do lado do servidor.
fonte
Abaixo, o código é usado no meu aplicativo para enviar e-mail com um anexo, aqui os anexos são uma imagem. Você pode enviar qualquer tipo de arquivo, apenas o que você deve ter em mente é que foi necessário especificar o 'mimeType' correto
adicione isso ao seu arquivo .h
Adicione MessageUI.framework ao seu arquivo de projeto
O método Delegate é como mostrado abaixo
fonte
Este é o código que pode ajudá-lo, mas não se esqueça de incluir a mensagem ui framewark e incluir o método delegados MFMailComposeViewControllerDelegate
fonte
Swift 2.2. Adaptado da resposta da Esq
Código do cliente :
fonte
Para enviar um email a partir do aplicativo do iPhone, você precisa fazer a lista abaixo da tarefa.
Etapa 1: Importar
#import <MessageUI/MessageUI.h>
Na sua classe de controlador para a qual você deseja enviar um email.Etapa 2: adicione o delegado ao seu controlador como mostrado abaixo
Etapa 3: adicione o método abaixo para enviar email.
Etapa 4: implementar o delegado MFMailComposeViewController
fonte
Swift 2.0
fonte
Aqui está uma versão Swift:
Fonte
fonte
Eu escrevi um invólucro simples chamado KRNSendEmail que simplifica o envio de email para uma chamada de método.
O KRNSendEmail está bem documentado e adicionado ao CocoaPods.
https://github.com/ulian-onua/KRNSendEmail
fonte