iOS開發(fā)中實(shí)現(xiàn)郵件和短信發(fā)送的簡(jiǎn)單示例
發(fā)送郵件
1.導(dǎo)入庫文件:MessageUI.framework
2.引入頭文件
3.實(shí)現(xiàn)代理<MFMailComposeViewControllerDelegate> 和 <UINavigationControllerDelegate>
代碼示例:
- (void)didClickSendEmailButtonAction{
if ([MFMailComposeViewController canSendMail] == YES) {
MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init];
// 設(shè)置代理(與以往代理不同,不是"delegate",千萬不能忘記呀,代理有3步)
mailVC.mailComposeDelegate = self;
// 收件人
NSArray *sendToPerson = @[@"humingtao2014@gmail.com"];
[mailVC setToRecipients:sendToPerson];
// 抄送
NSArray *copyToPerson = @[@"humingtao2013@126.com"];
[mailVC setCcRecipients:copyToPerson];
// 密送
NSArray *secretToPerson = @[@"563821250@qq.com"];
[mailVC setBccRecipients:secretToPerson];
// 主題
[mailVC setSubject:@"hello world"];
[self presentViewController:mailVC animated:YES completion:nil];
[mailVC setMessageBody:@"魑魅魍魎,哈哈呵呵嘿嘿霍霍" isHTML:NO];
}else{
NSLog(@"此設(shè)備不支持郵件發(fā)送");
}
}
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
switch (result) {
case MFMailComposeResultCancelled:
NSLog(@"取消發(fā)送");
break;
case MFMailComposeResultFailed:
NSLog(@"發(fā)送失敗");
break;
case MFMailComposeResultSaved:
NSLog(@"保存草稿文件");
break;
case MFMailComposeResultSent:
NSLog(@"發(fā)送成功");
break;
default:
break;
}
[self dismissViewControllerAnimated:YES completion:nil];
}
// 系統(tǒng)發(fā)送,模擬器不支持,要用真機(jī)測(cè)試
- (void)didClickSendSystemEmailButtonAction{
NSURL *url = [NSURL URLWithString:@"humingtao2014@gmail.com"];
if ([[UIApplication sharedApplication] canOpenURL:url] == YES) {
[[UIApplication sharedApplication] openURL:url];
}else{
NSLog(@"此設(shè)備不支持");
}
}
發(fā)送短信
前面三步引入配置和郵件發(fā)送一樣
// 調(diào)用系統(tǒng)API發(fā)送短信
- (void)didClickSendMessageButtonAction{
if ([MFMessageComposeViewController canSendText] == YES) {
MFMessageComposeViewController *messageVC = [[MFMessageComposeViewController alloc] init];
// 設(shè)置代理<MFMessageComposeViewControllerDelegate>
messageVC.messageComposeDelegate = self;
// 發(fā)送To Who
messageVC.recipients = @[@"18757289870"];
messageVC.body = @"hello world";
[self presentViewController:messageVC animated:YES completion:nil];
}else{
NSLog(@"此設(shè)備不支持");
}
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"取消發(fā)送");
break;
case MessageComposeResultFailed:
NSLog(@"發(fā)送失敗");
break;
case MessageComposeResultSent:
NSLog(@"發(fā)送成功");
break;
default:
break;
}
[self dismissViewControllerAnimated:YES completion:nil];
}
// 調(diào)用系統(tǒng)應(yīng)用程序發(fā)送消息
- (void)didClickSendMessage2ButtonAction{
NSURL *url = [NSURL URLWithString:@"sms:18656348970"];
if ([[UIApplication sharedApplication] canOpenURL:url] == YES) {
[[UIApplication sharedApplication] openURL:url];
}else{
NSLog(@"失敗");
}
}
- iOS 10撥打系統(tǒng)電話彈出框延遲出現(xiàn)問題的解決
- iOS 檢測(cè)文本中的URL、電話號(hào)碼等信息
- iOS 撥打電話代碼的三種方式
- IOS如何替換電話號(hào)碼中間4位為"-"符號(hào)
- IOS程序開發(fā)之跳轉(zhuǎn)短信發(fā)送界面實(shí)現(xiàn)發(fā)送短信功能
- IOS中快速集成短信SDK驗(yàn)證開發(fā)(SMSSDK),IOS開發(fā)中如何設(shè)置手機(jī)短信驗(yàn)證碼
- 兩種iOS調(diào)用系統(tǒng)發(fā)短信的方法
- 用Swift構(gòu)建一個(gè)簡(jiǎn)單的iOS郵件應(yīng)用的方法
- iOS打電話、發(fā)短信、發(fā)郵件實(shí)例代碼
相關(guān)文章
iOS應(yīng)用設(shè)計(jì)模式開發(fā)中職責(zé)鏈(責(zé)任鏈)模式的實(shí)現(xiàn)解析
這篇文章主要介紹了iOS應(yīng)用設(shè)計(jì)模式開發(fā)中職責(zé)鏈模式的相關(guān)實(shí)現(xiàn)解析,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03ios基于MJRefresh實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫效果
本篇文章主要介紹了ios基于MJRefresh實(shí)現(xiàn)上拉刷新和下拉加載動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08iOS實(shí)現(xiàn)點(diǎn)擊微信頭像(放大、縮放、保存)效果
最近公司產(chǎn)品需要實(shí)現(xiàn)點(diǎn)擊個(gè)人主頁頭像可以放大頭像、縮放頭像、保存頭像效果(和點(diǎn)擊微信個(gè)人頭像類似),故找個(gè)時(shí)間實(shí)現(xiàn)一下,記錄下來,供自己查看也給有需要的大家做個(gè)參考。下面來一起看看吧。2017-03-03