如何在我的应用程序的电子邮件中格式化和放置图像?

时间:2011-09-05 15:33:17

标签: iphone image email format

有一些较旧的帖子有这个非常复杂的答案。我很想知道是否有一种简单的方法来获取项目中的图像并将其放入电子邮件中,编写应用程序但通过邮件程序发送。

我也不知道如何格式化它。如果我把\ n邮件程序从未打开过。

以下是有效的方法:

            NSString *url = [NSString stringWithString: @"mailto:?&subject=Hello%20There!&body=Really%20Cool.%20Check%20this%20out!"];
            [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];

我想添加一个图片,并使用换行符让它看起来很漂亮。有人可以帮助我吗?

谢谢! [R

2 个答案:

答案 0 :(得分:1)

您有两种选择,图像作为附件与邮件撰写视图,或内联为HTML,这意味着您必须使用固定链接或固定URL上传应用程序的图像。即使您可以使用本地路径形成URL,电子邮件收件人也不会使用您的应用程序接收邮件,因此它会被沙箱远离世界。

如果你在应用程序中生成图片,它并不比邮件撰写视图容易,但如果上传它们就可以了,这很容易。

我今天通过使用FTP上传png图像的优化和较小的jpg版本并使用<b><img src="http://blah.etc.org/myfolder/mypic.jpg" /></b>链接到它来解决它。需要<b>标记来“欺骗”openURL,而不是在SDK 3.0中将图像剥离回来,现在可能不需要它们。

答案 1 :(得分:0)

您需要使用MFMailComposeViewController发送附件。

将作为应用程序一部分的图像(在同一目录中)附加到以下电子邮件中:

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self; 
    [picker setSubject:@"My Image Is Attached"];

//other mail settings here

//now add your attachment
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
            NSString *whereToFindFile = [NSString stringWithFormat:@"myImage.png"];
            NSString *appFile = [documentsDirectory stringByAppendingPathComponent:whereToFindFile];
            NSData *imageData1 = [[[NSData alloc] initWithContentsOfFile:appFile] autorelease]; 
            [picker addAttachmentData:imageData1 mimeType:@"image/png" fileName:@"myImage"];