`

发送邮件---iphone开发

 
阅读更多

1、导入MessageUI.framework包

2、引入头文件#import <MessageUI/MessageUI.h> 

3、实现代理MFMailComposeViewControllerDelegate

代码如下:

 

1、监测手机是否遇有首发邮件功能

Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); 
                    if (mailClass != nil)  
                    {  
                        if ([mailClass canSendMail])  
                        {  
                            [self displayComposerSheet];  
                        }   
                        else   
                        {  
                            [self launchMailAppOnDevice];  
                        }  
                    }   
                    else   
                    {  
                        [self launchMailAppOnDevice];  
                    }      

2、可以发送邮件

-(void)displayComposerSheet   
{  
    NSLog(@"可以发送邮件~~~~~~~~~~~~");
    MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init];  
    
    mailPicker.mailComposeDelegate = self;  
    
    //设置主题  
    [mailPicker setSubject: @"eMail主题"];  
    
    // 添加发送者  
    NSArray *toRecipients = [NSArray arrayWithObject: @"243832207@qq.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 = @"您好:您订阅的杂志,请点击一下连接进行支付!";  
    [mailPicker setMessageBody:emailBody isHTML:YES];  
    
    [self presentModalViewController: mailPicker animated:YES];  
    [mailPicker release];  
}  

3、不能发送邮件
-(void)launchMailAppOnDevice  
{  
    NSLog(@"不能发送邮件~~~~~~~~~~~~");
    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]];  
}

4、代理方法
- (void)mailComposeController:(MFMailComposeViewController *)controller   
          didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error   
{  
    NSString *msg;  
    
    switch (result)   
    {  
        case MFMailComposeResultCancelled:  
            msg = @"邮件发送取消";  
            break;  
        case MFMailComposeResultSaved:  
            msg = @"邮件保存成功";  
            [Utils alertWithTitle:nil message:msg];  
            break;  
        case MFMailComposeResultSent:  
            msg = @"邮件发送成功";  
            [Utils alertWithTitle:nil message:msg]; 
            break;  
        case MFMailComposeResultFailed:  
            msg = @"邮件发送失败";  
            [Utils alertWithTitle:nil message:msg];  
            break;  
        default:  
            break;  
    }  
    
    [self dismissModalViewControllerAnimated:YES];  
}  
 
分享到:
评论

相关推荐

    ios app发送邮件(必须先在iphone中设置发送邮件账号)

    这个类是MessageUI框架的一部分,允许用户在应用内直接撰写并发送邮件,前提是用户的iPhone已经在设置中配置了至少一个邮件账户。以下是对这个过程的详细解释。 首先,我们需要导入MessageUI框架。在Swift中,可以...

    iPhone应用程序开发指南

    ### iPhone应用程序开发指南 #### 一、iPhone系统介绍 iPhone是由苹果公司设计并销售的一系列智能手机,自2007年首次推出以来,已经成为全球最受欢迎的智能手机之一。苹果公司的创始人史蒂夫·乔布斯曾表示:...

    IOS 异常崩溃时发送邮件

    "IOS 异常崩溃时发送邮件"这个主题正是关于如何在iOS应用出现异常时,自动捕获异常信息并通过电子邮件发送到指定地址,以便于调试。 首先,我们需要了解`NSSetUncaughtExceptionHandler`这个函数。它是Objective-C...

    iPhone开发申请IDP图文教程

    ### iPhone开发申请IDP图文教程知识点详述 #### 一、引言 随着智能手机的普及和发展,iPhone成为了全球范围内极具影响力的一款智能设备。对于开发者而言,加入iPhone开发者计划(IDP,即iPhone Developer Program)...

    苹果iPhone APP开发教程 iOS教程_极品

    苹果iPhone APP开发教程 iOS教程.zip ...15.发送电子邮件 16.音频和视频 17.文件处理 18.地图开发 19.应用内购买(App支付功能) 20.iAD整合 21.游戏开发GameKit 22.故事板(Storyboards) 23.自动布局 24.

    iphone开发真机调试环境搭建步骤

    ### iPhone开发真机调试环境搭建步骤详解 #### 引言 - **编写目的**:本文旨在为iPhone开发人员提供一份详尽的操作指南,帮助他们快速有效地搭建起iPhone真机调试环境,以确保应用开发的质量与效率。 - **开发单位...

    iphone开发账户中添加Udid,签名和打包ipa

    以上是iPhone开发账户中添加UDID、签名和打包IPA的详细过程。正确执行这些步骤,能确保你的iOS应用能够顺利地在目标设备上运行和分发。在实际操作中,可能会遇到各种问题,如证书过期、权限问题等,这时需要查阅苹果...

    iPhone及iPad操作与进阶

    - **iPhone**: iPhone是由苹果公司设计、开发并销售的一款智能手机,首次发布于2007年1月9日。iPhone的诞生标志着移动电话行业的重大变革,它将先进的移动电话、可触摸宽屏iPod以及具有桌面级电子邮件、网页浏览等...

    iphone开发手册

    【标题】"iPhone开发手册"涉及的是iOS应用开发的相关知识,主要关注于使用Apple的Swift或Objective-C编程语言创建在iPhone设备上运行的应用程序。在iOS开发中,开发者需要掌握苹果提供的Xcode集成开发环境(IDE)...

    SMS.zip_Tabú_in email iphone_iphone_iphone email_sms iphone

    "Tabú_in email iphone_iphone_iphone email_sms iphone"这部分可能是项目或框架的名字,也可能是描述该SMS功能的一个特点,可能涉及到在iPhone上通过电子邮件处理短信的功能。描述中提到的“一个sms框架,可以进行...

    IOS应用源码之邮件发送Document文件.zip

    在iOS平台上,开发一款能够发送邮件并附带Document文件的应用是一项常见的需求。这份"IOS应用源码之邮件发送Document文件.zip"的压缩包文件显然包含了实现这一功能的源代码,对于学习iOS应用开发,尤其是邮件处理和...

    iphone开发用户密码界面例子

    在iOS中,可以使用MFMailComposeViewController来发送验证邮件。 此外,为了实现描述中的“即使退出模拟器,也能登录成功”的功能,我们需要考虑数据持久化。一种常见方法是使用UserDefaults,它允许我们将简单的...

    仿iPhone邮箱APP的demo

    在IT行业中,开发一款应用程序,尤其是像iPhone邮箱应用这样的用户界面丰富、功能复杂的软件,是一项技术挑战。"仿iPhone邮箱APP的demo"是一个模仿苹果iOS系统内置邮箱应用的示例项目,它展示了如何构建类似应用的...

    iPhone开发秘籍.part2.rar

    本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥...

    iPhone开发秘籍.part1.rar

    本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥...

    iPhone开发秘籍.part4.rar

    本书面向新的iPhone 开发人员,他们马上要开发实际项目,但面对着一个全新的SDK。虽然每位程 序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格, 如何创建安全的密钥...

    More iPhone 3 Development: Tackling iPhone SDK 3 (Beginning)

    还介绍了通过GameKit实现蓝牙对等网络(Peer-to-Peer Networking)的方法、如何利用网络流(network streams)和Bonjour发现服务等功能,并探讨了如何将地图(MapKit)集成到应用中以及在应用内发送邮件等实用技巧。...

Global site tag (gtag.js) - Google Analytics