zoukankan      html  css  js  c++  java
  • [转]iPhone发邮件编程

    转自http://blog.csdn.net/koupoo/article/details/6455289

    添加MessageUI. framework#import <MessageUI/MessageUI.h>MFMailComposeViewControllerDelegate
    代码如下:
    #pragma mark -
    #pragma mark MFMailComposeViewController
    - (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)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:@"Icon.png"];
        NSData *imageData = UIImagePNGRepresentation(addPic);            // png
        // NSData *imageData = UIImageJPEGRepresentation(addPic, 1);    // jpeg
        [mailPicker addAttachmentData:imageData mimeType:@"" fileName:@"Icon.png"];
        
        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)sendEMail {
        Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
        
        if (mailClass != nil) {
            if ([mailClass canSendMail]) {
                [self displayComposerSheet];
            } else {
                [self launchMailAppOnDevice];
            }
        } else {
            [self launchMailAppOnDevice];
        }    
    }

    - (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;
        }
        
        NSLog(@"发送结果:%@", msg);
        [self dismissModalViewControllerAnimated:YES];
    }

  • 相关阅读:
    [Leetcode 56] 55 Jump Game
    [Leetcode 57] 61 Rotate List
    [Leetcode 61] 73 Set Matrix Zeros
    [Leetcode 62] 74 Search a 2D Matrix
    [Leetcode 64] 78 Subsets
    [Leetcode 63] 77 Combinations
    [Leetcode 58] 63 Unique Path II
    python学习笔记第1章节 基础知识
    python学习笔记第2章节 分支,循环,还有条件
    visual studio 2008 试用版评估期已结束的解决方法(转载)
  • 原文地址:https://www.cnblogs.com/linyawen/p/2532665.html
Copyright © 2011-2022 走看看