iPhoneってメール送信はmailtoしか用意してないんですね。それ以上のものを作る(長い文字列の送信など)には自分でSMTPクライアント作るしかないみたいです。
とりあえずmailtoを使ったアプリSendingEma
作業
- プロジェクトの新規作成でView-Based
Applicatio nを選択:SendingEma ilとする - SendingEma
ilViewCont rollerにsendingEma il関数を追加 - SendingEma
ilViewCont roller.xib ファイルをダブルクリックしてInterfaceB uilderを起動 - InterfaceB
uilderで先ほど追加したsendingEma ilとGUIをマッピング - Build&Goして動作を確認します:エミュレータではメール送信画面は表示されませんので、実機でどうぞ
UIViewCont rollerにsendingEma il関数を追加
SendingEma
1 @interface SendingEmailViewCont roller : UIViewCont roller { 2 } 3 4 - (IBAction) sendingEma il: (id) sender; 5 6 @end
SendingEma
1 #import "SendingEmailViewCont roller.h" 2 3 @implementa tion SendingEma ilViewCont roller 4 5 - (IBAction)sendingEma il:(id)sender { 6 NSURL* mailURL = [NSURL URLWithStr ing: @"mailto:sat oko@somedomain .com?subject=My %20Subject &body=bodyS tuff"]; 7 NSLog(@"mailURL: %@", mailURL); //Debug [[UIApplicat ion sharedAppl ication] openURL: mailURL]; 8 }
InterfaceB uilderでの作業:SendingEma ilViewCont roller.xib を編集
- Round Rect Button(UIBUtton)をview上にドロップしてtitleにsend Emailと入力
- File's Ownerを右クリックしてダイアログを開き(この黒いダイアログなんて呼ぶのかな...)
- File's OwnerのsendingEma
il関数を、ボタンの関数Touch Up Insideと結びつける - ダイアログ内のReceived Actions項のsendingEma
ilの右端の丸をクリック&ドラッグして、 - ステップ1.で置いたボタン上までマウスを持って行き
- ボタンがハイライトされたらマウスを放す
- ダイアログ内のTouch Up Insideを選択
- ダイアログ内のReceived Actions項のsendingEma
注意
件名や本文はエンコードしないといけないようです。
http://egg
http://www
posted by
satoko
on Thu 4 Dec 2008
at 16:51