当初、MFMailComposeViewControllerクラスを利用してバックグラウンドで送信しようと試みましたが、本クラスはユーザ介入が必須となるため別な方法を探していました。
ここでは、Gmailのサーバ経由でE-Mailを(バックグラウンドで)送信するための手順を記載しています。
■手順
1.「CFNetwork.framework」をプロジェクトに追加する。
2.「SKPSMTPMessage library」を下記のサイトからダウンロードする
https://github.com/jetseven/skpsmtpmessage
3. ダウンロードしたライブラリ(「SMTPLibrary」フォルダ以下のファイル)をプロジェクトにD&Dする。
4.下記インクルードファイルをヘッダファイル(.hファイル)に追記する。
#import "SKPSMTPMessage.h"
#import "NSData+Base64Additions.h"
5.下記のコードをヘッダファイル(.hファイル)のViewControllerに追記する。
<SKPSMTPMessageDelegate>
<例>
6.以下のサンプルコードを修正してソースファイルに追記する。
7.Build時にエラーが発生する場合、(当方の環境xcode5では)下記の設定を加える事で回避できました。
「project target」→「Build Phases」→「Compile Sources」を開きます。
ライブラリ ソース ファイル (.m ファイル) を選択してEnter キーを押し、編集フィールドを開きます。
そこに、コンパイラ フラグとして 「-fno-objc-arc」を入力します。
設定例 |
<例>
http://iosameer.blogspot.jp/2013/01/sending-e-mail-in-background-from-ios_25.html
http://itsmarkblog.blogspot.jp/2013/06/send-e-mail-in-background-from-ios.html
■開発環境
Macbook Pro 13 (OS X 10.8.5/Mountain Lion)
Xcode 5.0(iOSシュミレータ 7.0)
大変参考になりました。ありがとうございます。
返信削除ところで、日本語を入力すると文字化けするのですが、SKPSMTPMessage.mあたりをいじっておられるのですか?