电子邮件正文内的链接
问题描述:
我需要修改现有的项目。在这个项目中,有几个(很多)应用程序发送一封电子邮件,其中包含预设文本。使用的功能是电子邮件正文内的链接
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:emailString]];
这明显打开iOS邮件,准备发送消息。 现在我需要在消息正文中包含链接。是否有可能在所有这些地方切换到MFMailComposeViewController?怎么样?
答
简短的回答,是的,你可以通过添加body
参数的URL(即mailto:[email protected]?body=This%20goes%20to%20body
)预填充消息的主体。请注意,该字符串必须妥善转义,你可以轻松地在NSString的帮助下做到这一点stringByAddingPercentEscapesUsingEncoding:
我假设正文中的任何URL看起来像一个URL将通过邮件应用程序本身转换为链接 - 不确定,测试一下。
答
这很简单。 每个HTML标签应该附加在URL开始双引号前使用前斜线和结束
例子:
NSString *bodyText [email protected]"<html>";
bodyText = [bodyText stringByAppendingString:@"<head>"];
bodyText = [bodyText stringByAppendingString:@"</head>"];
bodyText = [bodyText stringByAppendingString:@"<body>"];
bodyText = [bodyText stringByAppendingString:@"<a href=\"http://www.devaski.com\">My blog"];
bodyText = [bodyText stringByAppendingString:@"</a>"];
[mailComposer setMessageBody:bodyText isHTML:YES];
感谢您的答复。事实上的确如此,我的意思是我设法将人体预先填充,并且诸如www.mysite.com之类的任何地址都通过Mail转换为链接。我需要实现的是有一个链接,例如“访问我们的网站”。使用MFMailComposeViewController,你可以通过html来做到这一点。 – user236739 2012-02-07 17:23:28
是的,这是你必须用HTML处理的东西,如果答案有帮助,将其标记为已接受。 – 2012-02-07 23:01:49
这比我想象的要容易得多,实际上嵌入到emailString中的HTML只是起作用。周围发布了一些错误的信息,指出openURL方式不允许使用html。不管怎样,谢谢你。 – user236739 2012-02-08 09:38:44