如何在iPhone sdk中将HTML页面附加到我的邮件编辑器?

问题描述:

我在UIWebView中显示了一个html文件。我需要将我的当前页面作为附件和附件邮寄给html文件。我的代码,如何在iPhone sdk中将HTML页面附加到我的邮件编辑器?

-(void)mailClick 
{ 
     NSLog(@"mail"); 
     if ([MFMailComposeViewController canSendMail]) 
     { 
    //atableView.scrollEnabled=YES; 
    //[socailNetworkView removeFromSuperview]; 
    // self.navigationItem.title = @"Contents"; 
    MFMailComposeViewController *mailViewController =   [[MFMailComposeViewController alloc] init]; 
    mailViewController.mailComposeDelegate = self; 
    [mailViewController setSubject:@""]; 
    NSString *fullPath =[[NSBundle mainBundle] pathForResource:@"first" ofType:@"html"]; 
    NSData *myData = [NSData dataWithContentsOfFile:fullPath]; 
    [mailViewController addAttachmentData:myData 
         mimeType:@"text/plain" 
         fileName:@"File_Name"]; 
    [mailViewController setMessageBody:@"" isHTML:NO]; 
    NSString *string = [NSString stringWithFormat:@"", nil]; 


    NSArray *mailArr = [[NSArray alloc] initWithObjects:string,nil]; 
    [mailViewController setToRecipients:mailArr]; 
    [self presentModalViewController:mailViewController animated:YES]; 
    [mailViewController release]; 

} 

else 
    { 

    NSLog(@"Device is unable to send email in its current state"); 

} 
    } 


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

{ 

NSLog(@"Mail"); 
NSString *[email protected]""; 
switch (result) { 
    case MFMailComposeResultCancelled: 
     NSLog(@"Mail send canceled."); 
     [email protected]"\nMail sending cancelled"; 
     msgLabel.text=str; 
     [msgLabel setFont:[UIFont fontWithName:@"Arial" size:18]]; 
     msgLabel.textColor=[UIColor colorWithRed:(54.0/255.0) green:(2.0/255) blue:(1.0/255) alpha:1.0]; 

     /* 
     Execute your code for canceled event here ... 
     */ 
     break; 
    case MFMailComposeResultSaved: 
     NSLog(@"Mail saved."); 
     [email protected]"Mail saved"; 
     /* 
     Execute your code for email saved event here ... 
     */ 
     break; 
    case MFMailComposeResultSent: 
     NSLog(@"Mail sent."); 
     [email protected]"Mail sent"; 
     /* 
     Execute your code for email sent event here ... 
     */ 
     break; 
    case MFMailComposeResultFailed: 
     [email protected]"Mail not sent"; 
     NSLog(@"Mail send error: %@.", [error localizedDescription]); 
     /* 
     Execute your code for email send failed event here ... 
     */ 
     break; 
    default: 
     break; 
} 

[self dismissModalViewControllerAnimated:YES]; 
} 

使用此代码能够发送具有指定html文件(整个html文件)的邮件作为附件。我正在接收邮件作为文本文件。现在我怎么能发送只有我当前页面和附件的邮件作为html文件?提前致谢。

您必须将mimeType设置为mimeType:@"text/html"。我认为没有其他方式发送特定页面(当前页面)作为附件在MFMailComposer ..看到这link设置mimetype