1

我有一个 html 内容作为我的电子邮件正文。我需要在我的 html 正文上显示图像。我尝试将图像附加到电子邮件并在 html 图像标记中使用文件名。但是图像没有显示。我也尝试过使用 dataUri,它在某些电子邮件客户端中不起作用。

这是我的代码。

NSData * imageData = [[NSDataalloc] initWithContentsOfURL: [NSURLURLWithString: @"http://wf.vanillicon.com/f6f63a5a0d149275772ff1cf22595988_100.png"]];
NSString *strFileName = [NSStringWithFormat:@"MyPicture.png"];

NSString *strFormat = [NSStringWithFormat:@"image/png;\r\n\tx-unix-mode=0644;\r\n\tname=\"%@\"",strFileName];
NSString *strFormat2 = [NSStringWithFormat:@"attachment;\r\n\tfilename=\"%@\"",strFileName];
NSDictionary *vcfPart = [NSDictionarydictionaryWithObjectsAndKeys:strFormat,kSKPSMTPPartContentTypeKey,
                         strFormat2,kSKPSMTPPartContentDispositionKey,[imageData encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil];
testMsg.parts = [NSArrayarrayWithObject:vcfPart];

NSDictionary *plainPart = [NSDictionarydictionaryWithObjectsAndKeys:@"text/html",kSKPSMTPPartContentTypeKey,
                           @"<img src=\"MyPicture.png\" width=\"100px\" height=\"100px\" /><h1>Tui</h1>",kSKPSMTPPartMessageKey,
                          @"8bit",kSKPSMTPPartContentTransferEncodingKey,nil];
testMsg.parts = [NSArrayarrayWithObjects:plainPart,vcfPart,nil];
4

2 回答 2

0

有时,当您发送 HTML 电子邮件,并且该 HTML 的标签中有图像时,接收方的电子邮件客户端不会自动显示图像。您可能需要单击电子邮件上的“显示图像”。

于 2013-08-22T19:38:26.757 回答
0

从下面的链接中找出通过 SMPT 发送电子邮件的演示代码

https://code.google.com/p/skpsmtpmessage/source/browse/trunk/SMTPSender/Classes/SMTPSenderAppDelegate.m

或者

https://github.com/kailoa/iphone-smtp

或者

http://iphonesdksnippets.com/post/2009/04/15/Send-email-with-attachments-on-iPhone.aspx

你可能会成功

于 2013-03-28T05:01:05.237 回答