2011-08-07 9 views
1

iPhoneアプリでボタンを設定したいと思っています。以前にアプリで実行した操作の結果をメールで送信しています。私は他の人が他のフレームワークを使うことができるとコメントしていますが、率直に言って実際に動作するものは見つけられません。私はMailCoreが良いと聞きました。誰かがiPhoneアプリからシームレスにメールを送信できたのですか?iPhoneアプリケーションから電子メールを送信する

注:メールを送信するためにアプリを終了したくないです。

+6

ユーザーが送信されているこのメールを認識してしますか、またはあなただけのバックグラウンドでそれを送りたいですか? Send Emailダイアログを表示するには、SDKに組み込まれているMessageUIフレームワークを使用することが常に可能です。バックグラウンドで電子メールを送信する場合は、HTTPリクエストが送信された後にバックエンドに電子メールを送信させることをお勧めします。 –

+0

間違いなくリクエストを見たくない。私はバックエンドを使うことを考えていましたが、私が見つけた唯一のものはちょうどコンパイルするのがかなり難しいものでした。私はDtuckernetの提案がうまくいくと思います。 – Darkenor

答えて

1

この質問から回答:How can I send mail from an iPhone application

iPhone OS 3.0には、後であなたがMFMailComposeViewControllerクラスを使用する必要があり、かつMFMailComposeViewControllerDelegateプロトコル、MessageUIの枠組みの中で隠れていること。 注:メッセージUIフレームワークをリンクし、ヘッダーをインポートする必要があります。

#import <MessageUI/MFMailComposeViewController.h> 

メッセージ送信まず:

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; 
controller.mailComposeDelegate = self; 
[controller setSubject:@"My Subject"]; 
[controller setMessageBody:@"Hello there." isHTML:NO]; 
if (controller) [self presentModalViewController:controller animated:YES]; 
[controller release]; 

次に、ユーザーが作業を行い、デリゲート時間のコールバックを取得:この場合

- (void)mailComposeController:(MFMailComposeViewController*)controller 
     didFinishWithResult:(MFMailComposeResult)result 
        error:(NSError*)error;{ 
if (result == MFMailComposeResultSent) { 
NSLog(@"It's away!"); 
} 
[self dismissModalViewControllerAnimated:YES]; 
} 
+0

これには、アプリケーションを終了することが含まれます。それが他の質問が無視された理由です。 – Darkenor

+0

モーダルビューを使用してアプリケーションを終了する方法について説明できますか?ビューが終了すると、アプリケーションに戻ります。 – rich

+0

ビューはアプリからそれらを取り出します... – Darkenor

0

を、あなたの最善の策はありますAmazon Simple Email Service(SES)のようなサービスを使用する。これにより、アプリケーションを終了することなく電子メールを送信できるようになります(他のソリューションとは異なります)。 Amazon AWSには、SESサービスを利用できるiOS SDKがあります。このサービスは非常に使いやすく、コストは非常に低いです。

http://aws.amazon.com/sdkforios/

+0

今*それは素晴らしいアイデアのように見えます。私はそれをできるだけ早く調べます。私が好きなら、私はあなたの答えをマークします。非常に発明的。 MailCoreをコンパイルするのはかなり難しかった。 – Darkenor

0
MFMailComposeViewController *mailComposer =[[MFMailComposeViewController alloc] init]; 
mailComposer.mailComposeDelegate = self; 
NSString *emailBody = @"Write email body text here........"; 
[mailComposer setMessageBody:emailBody isHTML:NO]; 
[self presentModalViewController:mailComposer animated:YES]; 
[mailComposer release]; 
関連する問題