iphone email attachment

I used the MessageUI framework to send the mail with attachment from my application.
But i got the following error,

2009-09-07 19:52:23.483 emailTest[11711:5b17]
 Error loading /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/DataClassMigrators/AccountMigrator.migrator/AccountMigrator:  dlopen(/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/DataClassMigrators/AccountMigrator.migrator/AccountMigrator, 265): Library not loaded: /System/Library/PrivateFrameworks/MobileWirelessSync.framework/MobileWirelessSync

 Referenced from: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/DataClassMigrators/AccountMigrator.migrator/AccountMigrator

      Reason: image not found

2009-09-07 19:52:23.489 emailTest[11711:5b17] [+[AccountsManager _migrateAccountsIfNeeded]] Accounts migration failed
[Switching to process 11711 local thread 0xf03]

my code is,

  • Tips for an iOS developer to learn Mac programming?
  • Detecting tapped character. UITextView characterRangeAtPoint always returns nil
  • iOS Development: How do I auto match players in Game Center?
  • How to define a macro globally in Objective-C?
  • facebookErrDomain error 10000 when calling graph api Facebook ios
  • Having trouble getting UIView sizeToFit to do anything meaningful
  • MFMailComposeViewController *picker = [[MFMailComposeViewController alloc]init];
    picker.mailComposeDelegate = self;
    [picker setSubject:@"This is iPhone email   attachment test"];
    
    UIImage *sampleImg = [UIImage imageNamed:@"iPhone.jpg"];
    NSData *imageData = UIImageJPEGRepresentation(sampleImg, 1);
    [picker addAttachmentData:imageData mimeType:@"image/png" fileName:@"iPhone.jpg"];
    
    
    NSString *emailBody = @"I am sending the image attachment with iPhone email service";
    [picker setMessageBody:emailBody isHTML:YES];
    
    [self presentModalViewController:picker animated:YES];
    [picker release];
    

    please help me.

    4 Solutions Collect From Internet About “iphone email attachment”

    You do not have to type extension in your filename. like “iphone.jpg” is not working. just write “iphone” in filename because you already define mimeType. And also you have to define path for resource.

    Below is the sample code to attach “rainy.png” file with mail.

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;
    
    [picker setSubject:@"Hello"];
    
    
    // Set up recipients
    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"]; 
    
    [picker setToRecipients:toRecipients];
    [picker setCcRecipients:ccRecipients];  
    [picker setBccRecipients:bccRecipients];
    
    // Attach an image to the email
    NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"png"];
    NSData *myData = [NSData dataWithContentsOfFile:path];
    [picker addAttachmentData:myData mimeType:@"image/png" fileName:@"rainy"];
    
    // Fill out the email body text
    NSString *emailBody = @"It is raining";
    [picker setMessageBody:emailBody isHTML:NO];
    
    [self presentModalViewController:picker animated:YES];
    [picker release];
    

    This error seems to be related to the running mail int he simulator and not to your code. Even stock Apple’s sample MailComposer reports identical error in the simulator:

    2009-11-12 20:30:39.270 MailComposer[7426:4f1f] Error loading /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/DataClassMigrators/AccountMigrator.migrator/AccountMigrator:  dlopen(/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/DataClassMigrators/AccountMigrator.migrator/AccountMigrator, 265): Library not loaded: /System/Library/PrivateFrameworks/MobileWirelessSync.framework/MobileWirelessSync
      Referenced from: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/DataClassMigrators/AccountMigrator.migrator/AccountMigrator
      Reason: image not found
    2009-11-12 20:30:39.271 MailComposer[7426:4f1f] [+[AccountsManager _migrateAccountsIfNeeded]] Accounts migration failed
    

    Add following method to dismiss the MFMailComposeViewController:

    - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:   (MFailComposeResult)result error:(NSError*)error
    
     {
     // NEVER REACHES THIS PLACE
     [self dismissModalViewControllerAnimated:YES];
    
     NSLog (@"mail finished");
     }
    

    use this for attach image in a mail, tested in ios 4,5,6

        MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
        UIImage *myImage = [UIImage imageNamed:@"image.png"];
        NSData *imageData = UIImagePNGRepresentation(myImage);
        [mailer addAttachmentData:imageData mimeType:@"image/png" fileName:@"image"];