類:mfmailcomposeviewcontroller
在展示郵件界面前,一定要先呼叫cansendmail方法,以此來確定當前裝置是否支援傳送郵件,如果返回值為no,可以將不支援的資訊提示使用者,也可以不提供給使用者發郵件的功能!千萬不能在這個方法返回no的情況下呼叫郵件介面!
if (![mfmailcomposeviewcontroller cansendmail]) //
一定要加上判斷!
mfmailcomposeviewcontroller* composevc = [[mfmailcomposeviewcontroller alloc] init];
composevc.mailcomposedelegate = self;//
切記要設定**!
// configure the fields of the inte***ce.
[composevc settorecipients:@[@"[email protected]"]]; //
設定接受者
[composevc setsubject:@"hello!"];//
設定標題
[composevc setmessagebody:@"hello from california!" ishtml:no];//
設定郵件內容,ishtml為yes的話可以將訊息以html語言傳送!,為no則只傳明文 //
介面需要手動呼叫
[self presentviewcontroller:composevc animated:yes completion:nil];
下面是它的**方法:
- (void)mailcomposecontroller:(mfmailcomposeviewcontroller *)controller
didfinishwithresult:(mfmailcomposeresult)result error:(nserror *)error //
在這個方法裡
dimiss
郵件介面
,並根據
result
可以做相關處理
,最好提示使用者結果!
值得注意的是
,郵件傳送是通過系統的郵箱傳送的
,使用者可以在郵件真正傳送之前刪除它,所以
裡提示的mfmailcomposeresult結果是成功的,但事實上並不意味著郵件就真的傳送出去了,只是說明郵件已經被成功新增到了傳送佇列!實際上,在這個類裡蘋果並沒有針對郵件真正的傳送結果提供方法!
這個類還有幾個方法
- setccrecipients:
- setbccrecipients:
這兩個方法都是設定抄送人的,,
後面乙個方法則是隱秘的抄送
,也就是看不見其他的抄送人 en
如果你需要傳送檔案或者之類的附件
,則上面的
setmessagebody
則力不能及了
,需要使用-
addattachmentdata:mimetype:filename:方法,
其中mimetype
類:mfmessagecomposeviewcontroller
這個類提供了乙個編輯和傳送sms(文字資訊)或者mms(多**資訊)的標準介面,說白了就是簡訊和彩信!
這個類和上面的傳送郵件的類差不多,不同的是判定方法不同!
+ cansendtext
//判斷是否支援傳送文字資訊
+ cansendattachments
//判斷是否支援傳送附件
+ cansendsubject
//判斷是否支援傳送主題資訊
+ issupportedattachmentuti:
//判斷是否支援附件
uti,uit(uniform type identifiers,
相同型別識別符號)每個
uti為特殊檔案型別
,資料型別
,路徑或者包型別等等提供了乙個唯一的識別符號,目的是為了識別檔案型別是否被支援,比如text檔案有些是以text結尾,有些是以txt結尾,有些能開啟,有些打不開,所以蘋果為了使用者考慮,為每個文件資料提供了乙個uti標誌符!說白了,就是針對一些特殊的檔案格式,判斷它的uti,看能否用蘋果支援的格式開啟!
實際測試:郵件傳送正常,資訊傳送會在彈出控制器後立刻取消,原因未明!如果真的需要可以通過openurl的方式在應用外開啟傳送資訊的功能!
iOS 實現郵件和簡訊傳送的簡單示例
傳送郵件 1.導入庫檔案 messageui.framework 2.引入標頭檔案 3.實現 和 示例 void didclicksendemailbuttonaction else void mailcomposecontroller mfmailcomposeviewcontroller con...
IOS 傳送郵件
ios中提供了兩張方法傳送電子郵件,一種方式是使用openurl,另外一種是mfmailcomposeviewcontroller。使用openurl呼叫系統郵箱客戶端是在ios3.0以下實現傳送郵件的主要手段,我們通過設定url的相關引數來指定郵件的內容,缺點是在傳送電子郵件的過程中程式會退出。下...
iOS開發中實現郵件和簡訊傳送的簡單示例
傳送郵件 1.導入庫檔案 messageui.framework 2.引入標頭檔案 3.實現 和 示例 複製 如下 void didclicksendemailbuttonactionelse void mailcomposecontroller mfmailcomposeviewcontrolle...