您的位置:首页 > 移动开发 > IOS开发

iOS开发之邮件发送代码

2012-03-09 00:00 495 查看
邮件发送功能是由MessageUI Framework提供的,这个框架是iPhone sdk中最简单的框。由一个类、一个视图控制器,一个protocol组成。

一、创建视图控制器:

< class="brush:objc;gutter:false;">MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init]; mc.mailComposeDelegate = self;

二、设置邮件主题:

[mc setSubject:
@"
Hello, World!
"
];

三、设置收件人,收件人有三种:

1、设置主收件人

< class="brush:objc;gutter:false;">[mc setToRecipients:[NSArray arrayWithObjects:@"zhuqi0@126.com", "@dave@iphonedevbook.com", nil];

2、设置cc

[mc setCcRecipients:[NSArray arrayWithObject:
@"
zhuqil@163.com
"
]];

3、设置bcc

[mc setBccRecipients:[NSArray arrayWithObject:
@"
secret@gmail.com
"
]];

四、设置邮件主体,有两种格式。

一种是纯文本

[mc setMessageBody:
@"
Watson!!!\n\nCome here, I need you!
"
isHTML:NO];

一个是html格式

< class="brush:objc;gutter:false;"> [mc setMessageBody:@"<HTML><B>Hello, Joe!</B><BR/>What do you know?</HTML>" isHTML:YES];

五、添加附件

添加附件需要三个参数,一个是NSData类型的附件,一个是mime type,一个附件的名称。

NSString
*
path
=
[[NSBundle mainBundle] pathForResource:
@"
blood_orange
"

ofType:
@"
png
"
];
NSData
*
data
=
[NSData dataWithContentsOfFile:path];
[mc addAttachmentData:data mimeType:
@"
image/png
"
fileName:
@"
blood_orange
"
];

六、视图呈现

[self sentModalViewController:mc animated:YES];
[mc release];

七、视图控制器的委托方法

邮件视图控制器的委托方法包含在MFMailComposeViewControllerDelegate中,无论用户是否发送或取消发送,不论系统是否能够发送邮件,

方法 mailComposeController:didFinishWithResult:error: gets called都会被调用。

-
(
void
)mailComposeController:(MFMailComposeViewController
*
)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError
*
)error {

switch
(result)
{

case
MFMailComposeResultCancelled:
NSLog(
@"
Mail send canceled...
"
);

break
;

case
MFMailComposeResultSaved:
NSLog(
@"
Mail saved...
"
);

break
;

case
MFMailComposeResultSent:
NSLog(
@"
Mail sent...
"
);

break
;

case
MFMailComposeResultFailed:
NSLog(
@"
Mail send errored: %@...
"
, [error localizedDescription]);

break
;

default
:

break
;
}
[self dismissModalViewControllerAnimated:YES];
}

原文链接:
http://www.cnblogs.com/zhuqil/archive/2011/07/21/2112816.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: