IOS发送带附件的邮件

1.加入邮箱的框架

#import <MessageUI/MFMailComposeViewController.h>
#import <MessageUI/MessageUI.h>

2.添加委托

@interface ViewController : UIViewController<MFMailComposeViewControllerDelegate>

3.实现代码

- (void)alertWithTitle:(NSString *)title  msg:(NSString *)msg   
{  
    if (title && msg) 
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title   
                                                        message:msg   
                                                       delegate:nil   
                                              cancelButtonTitle:@"确定"   
                                              otherButtonTitles:nil];  
        [alert show];  
        [alert release];  
    }
    
}  

- (IBAction)OnButtonWriteLog:(id)sender 
{	
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
	[dateFormatter setDateFormat:@"yyyy_MM_dd_HH_mm"];	// 设置格式为年-月-日 时:分:秒:毫秒
	
	NSString *timeStr = [dateFormatter stringFromDate:[NSDate date]];
	[dateFormatter release];
    
    
    NSArray *userPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
	NSString *filePackageName = [userPaths objectAtIndex:0];
    

    NSString* fileNamePackageRes = [[NSString alloc] initWithFormat:@"%@/%@_%@",filePackageName,timeStr,@"log.txt"];
    
    
    NSString* strLogData = [[NSString alloc]initWithFormat:@"my is log time:%@",timeStr];
    [strLogData writeToFile:fileNamePackageRes atomically:NO encoding:NSUTF8StringEncoding error:nil];

    
    [_logName release];
    _logName = [[NSString alloc ]initWithString:fileNamePackageRes];
    
    [fileNamePackageRes release];
    
    [self alertWithTitle:@"提示" msg:@"写入成功"];
}



- (IBAction)OnButtonSendMailToMe:(id)sender {
    
    NSString *logData = [[NSString alloc]initWithContentsOfFile:_logName encoding:NSUTF8StringEncoding error:nil];
    if (logData)
    {
        MFMailComposeViewController *mailCompose = [[MFMailComposeViewController alloc] init];
        if(mailCompose)
        {
            //设置代理
            [mailCompose setMailComposeDelegate:self];
            
            NSArray *toAddress = [NSArray arrayWithObject:@"98zg@sina.cn"];
            NSArray *ccAddress = [NSArray arrayWithObject:@"17333245@qq.com"];;
            NSString *emailBody = @"<H1>日志信息</H1>";
            
            //设置收件人
            [mailCompose setToRecipients:toAddress];
            //设置抄送人
            [mailCompose setCcRecipients:ccAddress];
            //设置邮件内容	
            [mailCompose setMessageBody:emailBody isHTML:YES];
            
            NSData* pData = [[NSData alloc]initWithContentsOfFile:_logName];
            
            //设置邮件主题
            [mailCompose setSubject:@"这里是主题"];
            //设置邮件附件{mimeType:文件格式|fileName:文件名}
            [mailCompose addAttachmentData:pData mimeType:@"txt" fileName:@"日志.txt"];
            //设置邮件视图在当前视图上显示方式
            [self presentModalViewController:mailCompose animated:YES];
        }
        [mailCompose release];
        
        return;
    }

    
    [logData release];
    
    
    [self alertWithTitle:@"提示" msg:@"请先点击写入日志按钮"];
}


- (void)dealloc
{
    [_logName release];
    [super dealloc];
}

 

- (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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值