集成邮件发送功能MFMailComposeViewController
来源:互联网 发布:删除主键sql 编辑:程序博客网 时间:2024/06/16 08:59
注意:用这个类的话 必须苹果设备邮件客户端 登录任意一个邮箱否则无法使用
#import "ViewController.h"
#import <MessageUI/MessageUI.h>
@interface ViewController ()<MFMailComposeViewControllerDelegate>
@end
@implementation ViewController
- (void)viewDidLoad
{
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(0, 40, 320, 50);
[button setTitle:@"Mail"forState: UIControlStateNormal];
[button addTarget:selfaction: @selector(sendEMail)forControlEvents:UIControlEventTouchUpInside];
[self.viewaddSubview: button];
}
//点击按钮后,触发这个方法
-(void)sendEMail
{
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
if ([mailClass canSendMail])
{
[selfdisplayComposerSheet];
}
else
{
[selflaunchMailAppOnDevice];
}
}
else
{
[selflaunchMailAppOnDevice];
}
}
//可以发送邮件的话
-(void)displayComposerSheet
{
MFMailComposeViewController *mailPicker = [[MFMailComposeViewControlleralloc]init];
mailPicker.mailComposeDelegate =self;
//设置主题
[mailPicker setSubject: @"eMail主题"];
// 添加发送者
NSArray *toRecipients = [NSArrayarrayWithObject:@"first@example.com"];
//NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@example.com", @"third@example.com", nil];
//NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@example.com", nil];
[mailPicker setToRecipients: toRecipients];
//[picker setCcRecipients:ccRecipients];
//[picker setBccRecipients:bccRecipients];
// 添加图片
UIImage *addPic = [UIImageimageNamed:@"123.png"];
NSData *imageData = UIImagePNGRepresentation(addPic); // png
// NSData *imageData = UIImageJPEGRepresentation(addPic, 1); // jpeg
[mailPicker addAttachmentData: imageData mimeType: @"" fileName: @"123.png"];
NSString *emailBody = @"eMail 正文";
[mailPicker setMessageBody:emailBody isHTML:YES];
[selfpresentViewController:mailPickeranimated:YEScompletion:nil];
}
-(void)launchMailAppOnDevice
{
NSString *recipients =@"mailto:first@example.com&subject=my email!";
//@"mailto:first@example.com?cc=second@example.com,third@example.com&subject=my email!";
NSString *body =@"&body=email body!";
NSString *email = [NSStringstringWithFormat:@"%@%@", recipients, body];
NSString *charactersToEscape =@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| ";
NSCharacterSet *allowedCharacters = [[NSCharacterSetcharacterSetWithCharactersInString:charactersToEscape]invertedSet];
email = [email stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];
[[UIApplicationsharedApplication]openURL: [NSURLURLWithString:email]];
}
- (void)mailComposeController:(MFMailComposeViewController *)controller
didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
NSString *msg;
switch (result)
{
caseMFMailComposeResultCancelled:
msg = @"邮件发送取消";
break;
caseMFMailComposeResultSaved:
msg = @"邮件保存成功";
[self alertWithTitle:nil msg:msg];
break;
caseMFMailComposeResultSent:
msg = @"邮件发送成功";
[self alertWithTitle:nil msg:msg];
break;
caseMFMailComposeResultFailed:
msg = @"邮件发送失败";
[self alertWithTitle:nil msg:msg];
break;
default:
break;
}
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
- (void) alertWithTitle: (NSString *)_title_ msg: (NSString *)msg
{
UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:_title_
message:msg
delegate:nil
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alert show];
}
- 集成邮件发送功能MFMailComposeViewController
- 发送邮件--MFMailComposeViewController
- MFMailComposeViewController发送邮件的实例
- MFMailComposeViewController发送邮件的实例
- MFMailComposeViewController发送邮件的实例
- MFMailComposeViewController发送邮件的实例
- MFMailComposeViewController发送邮件的实例
- MFMailComposeViewController发送邮件的实例
- MFMailComposeViewController发送邮件的实例
- 使用MFMailComposeViewController发送邮件时防止崩溃
- iOS开发 MFMailComposeViewController(发送邮件)的使用
- 在Android中集成邮件发送功能
- 如何将MFMailComposeViewController的发送邮件界面设为中文
- MFMailComposeViewController 发邮件
- C#程序集成LOTUS邮件发送功能,实现办公自动化
- iOS开发笔记之二十五——MFMailComposeViewController发送邮件实例
- IOS使用MFMailComposeViewController发邮件
- 发送邮件功能
- JS深度复制deepCopy
- 三维表面重建robust algorithm for surface reconstruction from 3D point cloud
- Socket详解
- 判断正整数m是否为完全数(如果一个正整数m的所有小于m的因子(包括1)加起来正好等于m本身,那么这个数就称为完全数)
- Java设计模式-原型模式
- 集成邮件发送功能MFMailComposeViewController
- 【第五届“图灵杯”NEUQ-ACM程序设计大赛】A C D【哈夫曼树】E【手写链表】 F G H【圆周排列生成】 I
- 灰度直方图和H-S二维直方图
- 美图秀秀-拼图效果,UIView的clipsTobounds (后续的回头再加)
- oracle的函数wm_concat字符超过4000的处理办法
- 【Gartner2018人工智能预测】AI迎来大众化应用元年,虚拟助理将普及
- 从数学角度对卷积的理解
- Redis_集群搭建
- 【转】input 输入限制 js 正则