iOS发送邮件
来源:互联网 发布:企鹅网络加速器 编辑:程序博客网 时间:2024/06/04 23:00
iPhone API已经提供了系统写邮件界面的接口,使用MFMailComposeViewController,用来显示界面.
项目中需要添加MessageUi.framework。头文件加入MFMailComposeViewControllerDelegate。#import <MessageUI/MessageUI.h>
sendMailViewController.m文件的实现:
- (
void
)viewDidLoad
{
UIButton *button = [UIButton buttonWithType: UIButtonTypeRoundedRect];
button.frame = CGRectMake(0, 40, 320, 50);
[button setTitle: @
"Mail"
forState: UIControlStateNormal];
[button addTarget: self action: @selector(sendEMail) forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview: button];
}
- (
void
) alertWithTitle: (NSString *)_title_ msg: (NSString *)msg
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:_title_
message:msg
delegate:nil
cancelButtonTitle:@
"确定"
otherButtonTitles:nil];
[alert show];
[alert release];
}
//点击按钮后,触发这个方法
-(
void
)sendEMail
{
Class mailClass = (NSClassFromString(@
"MFMailComposeViewController"
));
if
(mailClass != nil)
{
if
([mailClass canSendMail])
{
[self displayComposerSheet];
}
else
{
[self launchMailAppOnDevice];
}
}
else
{
[self launchMailAppOnDevice];
}
}
//可以发送邮件的话
-(
void
)displayComposerSheet
{
MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init];
mailPicker.mailComposeDelegate = self;
//设置主题
[mailPicker setSubject: @
"eMail主题"
];
// 添加发送者
NSArray *toRecipients = [NSArray arrayWithObject: @
"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 = [UIImage imageNamed: @
"123.jpg"
];
NSData *imageData = UIImagePNGRepresentation(addPic);
// png
// NSData *imageData = UIImageJPEGRepresentation(addPic, 1); // jpeg
[mailPicker addAttachmentData: imageData mimeType: @
""
fileName: @
"123.jpg"
];
NSString *emailBody = @
"eMail 正文"
;
[mailPicker setMessageBody:emailBody isHTML:YES];
[self presentModalViewController: mailPicker animated:YES];
[mailPicker release];
}
-(
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 = [NSString stringWithFormat:@
"%@%@"
, recipients, body];
email = [email stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:email]];
}
- (
void
)mailComposeController:(MFMailComposeViewController *)controller
didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
NSString *msg;
switch
(result)
{
case
MFMailComposeResultCancelled:
msg = @
"邮件发送取消"
;
break
;
case
MFMailComposeResultSaved:
msg = @
"邮件保存成功"
;
[self alertWithTitle:nil msg:msg];
break
;
case
MFMailComposeResultSent:
msg = @
"邮件发送成功"
;
[self alertWithTitle:nil msg:msg];
break
;
case
MFMailComposeResultFailed:
msg = @
"邮件发送失败"
;
[self alertWithTitle:nil msg:msg];
break
;
default
:
break
;
}
[self dismissModalViewControllerAnimated:YES];
}
0 0
- iOS开发 邮件发送
- IOS 发送邮件
- iOS发送邮件功能
- IOS 异常邮件发送
- ios发送邮件
- IOS 后台发送邮件
- ios发送邮件
- iOS 发送邮件
- iOS发送邮件
- ios如何利用系统邮件发送邮件
- ios 发送邮件和短信
- iOS开发之发送邮件
- iOS开发之发送邮件
- iOS开发之邮件发送
- IOS邮件发送的方法
- iOS 调用系统发送邮件
- iOS发送邮件和短信
- ios -静默方式发送邮件
- UIViewAnimationOptions类型
- python unicode中文输出文件错误解决
- ios 常用字符串的操作
- solr全文查询基本实现
- 排序算法(六):快速排序
- iOS发送邮件
- 一个小公司老板的日常管理,希望能让创业的朋友学到东西(转)
- Spring3核心技术之事务管理机制
- java批处理数据接口
- 解决chrome默认打开ftp的问题
- iOS9 HTTP 不能正常使用的解决办法
- 终于搞定阿里云ftp的问题
- diyupload插件:批量图片上传
- 自幂数(典型的水仙花数)-20151107