iOS傳送郵件和簡訊

2021-07-27 10:39:59 字數 2293 閱讀 3356

類: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...