使用javascript和flash从浏览器发送电子邮件...是否可能?

时间:2011-08-05 07:35:08

标签: javascript flash email browser

我想知道是否有可能做我正在考虑的事情,如果有可能,有没有人知道一个闪存对象可以做我需要的东西?

我知道Flash对象可以提供javascript API来与它进行交互,我不知道的是Flash可以直接发送电子邮件而无需与网络服务器通话吗?如果可能,那么就不可能编写一个除了提供API来发送电子邮件之外什么都不做的flash对象?是否已创建了其他人可以使用的东西?

我希望在网页上创建一个电子邮件表单,但该网站是静态的(没有服务器脚本)。在我的情况下,服务器脚本是不可能的,因为没有服务器,该站点是CD / DVD / USB棒上的100%客户端。

4 个答案:

答案 0 :(得分:3)

不,flash和JS都可以单独完成,因为它们是客户端技术。您需要创建一个服务器端脚本来发送电子邮件,然后从您的客户端请求它。

如果swf文件在USB记忆棒上或任何地方都无关紧要,您仍然可以连接到服务器。大多数Web主机支持php,这可能是最简单的方法。查看this Google search

编辑:如果您无法使用服务器,则可以使用mailto链接,这将打开用户默认的电子邮件客户端。

var mailto:String = "mailto:email@example.com";
navigateToURL(new URLRequest(mailto), "_blank");

您还可以添加主题和正文。有关语法,请参阅http://www.ianr.unl.edu/internet/mailto.html

答案 1 :(得分:1)

是的,这是可以使用闪光灯,虽然我自己没有这样做,我不会建议。一般策略是使用套接字连接到特定的邮件服务器。

  1. 服务器需要在端口843上提供“套接字策略文件”。有关详细信息,请参阅http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html。它将为连接到邮件中继的所选端口提供权限(例如25)。
  2. 然后,您可以使用Flash Socket库,以便实际创建一个telnet客户端。请参阅http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cf7.html
  3. 将您的电子邮件构建为套接字的有效内容,然后发送。请参阅http://www.yuki-onna.co.uk/email/smtp.html
  4. 当然,如果您要将这些CD分发给整个世界,您的邮件服务器套接字策略必须接受来自任何计算机上任何人的连接,您将运行一个开放邮件中继,随之而来的是混乱,狗和猫住在一起......

    现在,您不太可能找到允许您执行此操作的公共SMTP服务器,如果您确实无法访问任何服务器端(无网络服务器,无法控制任何SMTP服务器),那么您'我需要依赖客户端mailto:链接。

答案 2 :(得分:0)

由于它在用户的计算机上运行了CD并且您没有服务器,因此您最好的(仅限?)选项是运行用户自己的邮件客户端。

尝试使用JavaScript动态创建mailto link,然后点击它。它应该使用您指定的输入运行本地邮件客户端(Outlook,Thunderbird等)。用户必须自己点击“发送”。

答案 3 :(得分:0)

如果没有互联网连接,您无法发送电子邮件,无论您使用JavaScript,Flash还是其他任何内容都无关紧要。

修改:http://code.google.com/p/smtpmailer/ 这是用ActionScript编写的,可能符合您的需求。

http://flashflex.com/sending-mail-in-actionscript-using-smtp/ 这是一些背景信息。