我想使用带有单个 pdf 文件作为附件的 mailto 标签发送电子邮件。mailto 标记使用传递的参数(如 to 和 subject)打开邮件窗口,使用:
<a href="mailto:<%=@user.mgremail%>?subject=Expense Report&attachment='<%=fileNameW%>'">Mail to Manager</a>
但是,附件作为参数不起作用。请建议如何在 rhomobile 中发送 pdf 附件。
谢谢
我想使用带有单个 pdf 文件作为附件的 mailto 标签发送电子邮件。mailto 标记使用传递的参数(如 to 和 subject)打开邮件窗口,使用:
<a href="mailto:<%=@user.mgremail%>?subject=Expense Report&attachment='<%=fileNameW%>'">Mail to Manager</a>
但是,附件作为参数不起作用。请建议如何在 rhomobile 中发送 pdf 附件。
谢谢
我认为您需要添加 PDF 文件的物理路径才能使其工作(否则它可能不知道文件在哪里)。论坛上的这个帖子是这样说的:
唯一的问题是这个“mailto”命令在客户端机器上执行,因此它试图通过物理路径而不是虚拟路径来定位附件文件。
那是,
- 使用 mailto:iudith.m@zim.co.il?subject=my report&body=see attachment&attachment="\myhost\myfolder\myfile.lis"
工作正常,但仅适用于本地用户(与“myhost”机器连接到同一网络的用户)。
- 使用 mailto:iudith.m@zim.co.il?subject=my report&body=see attachment&attachment="http://myhost:myport/my_location_virtual_path/myfile.lis"
不起作用,它不会将这样的语法识别为对附件文件有效。
在您的情况下,您可能需要查看 Rhomobile 文档的这一部分(关于文件系统访问)以获得文件的正确路径。
编辑:
从您的评论中,我可以看到您正在尝试使其在 iOS 上运行(由于 iOS 特定路径)。
在这个讨论(来自 Rhomobile 的 Google Group)中,解释了 mailto 不支持 iOS 上的附件。它说如下:
不知道其他平台,但你不能在 iOS 上做到这一点。mailto:不支持 iOS 上的附件。
您可以使用本机 API MFMailComposeViewController 来完成。
这是一个带有 UI 的完整控制器,因此您必须编写一个 Native View Extension 才能使用它:
http://docs.rhomobile.com/rhodes/extensions#native-view-extensions
编辑2:
我环顾四周,似乎 mailto 也不支持 Android 上的附件。这是因为 Android 支持不包含附件的 RFC 2368 mailto 协议。这是对 Android mailto url 解析器的参考。
我建议您按照 iOS 的建议进行操作,编写本机扩展。我认为这篇文章对你很重要。