【问题标题】:Best way to email form on website that is all ready set up在已准备就绪的网站上发送电子邮件表单的最佳方式
【发布时间】:2012-06-10 14:27:46
【问题描述】:

正如我所说,所有的 html 文件都设置好了。该网站主要使用jquery mobile,我首先尝试使用coldfusion。但是,这产生了很多问题,因为我无法将文件类型从 .html 更改为 .cfm 而不会产生很多问题。我需要做的就是验证几个字段,然后通过电子邮件发送给自己。有没有一种好方法可以在不更改大部分现有代码的情况下做到这一点?

我一直在研究 PHP,但我是服务器端脚本的新手,所以我不确定需要什么。这只有在服务器和每台机器都安装了 php 时才有效,还是服务器只需要安装 PHP?

感谢您的帮助!

【问题讨论】:

    标签: php jquery ajax email jquery-mobile


    【解决方案1】:

    简单的答案,只有托管页面的服务器需要 PHP。服务器是否运行 IIS、Apache 等?

    以 Apache 为例,你可以这样做:

    AddType application/x-httpd-php .php .htm .html
    AddHandler x-httpd-php .php .htm .html
    

    这将告诉 Apache 将所有 .html 和 .htm 文件视为 PHP。如果文件中没有 PHP,它将只提供 HTML 服务,这意味着不需要更改文件对您来说没有问题。

    在我忘记之前,发送电子邮件是一个命令:

    mail('youraddress@domain.com', 'Subject', 'Payload', 'Extra Headers if Needed');
    

    如果您在 HTML 中创建表单,将其发送到 sendmail.html,或者您的操作是什么,您可以使用:

    $_POST['field'];
    

    其中字段等于输入上的名称属性。示例:

    <input name="field">
    

    你可以这样做:

    mail('youraddress@domain.com', 'Subject', $_POST['field'], 'Extra Headers if Needed');
    

    这会将 $_POST['field'] 的内容通过电子邮件发送给您。

    【讨论】:

    • 理想情况下,我希望能够通过电子邮件发送表单信息,而无需将 php 直接写入 html 文件。这可能吗?也许使用 ajax 请求或其他方式让用户根本不会离开 html 页面?
    • 是的,为此,您可以调用 jquery $.post() 或 $.ajax() 来调用 sendmail.php(选择一个智能名称,这样垃圾邮件机器人就不会找到它。在该文件中,您将执行 PHP 部分。例如 jquery:$('#submit').click(function(){ $.post('/mail.php', {formdata:$('#form').serialize()}, function(response){ .. on success jquery here...}); });
    • 我们最终使用了 $.ajax()。感谢您的信息。
    【解决方案2】:

    最简单的方法是使用 jquery 验证字段并使用 mailto 作为表单操作:

    <form action="mailto:me@example.com" />
    

    如果您没有 PHP 经验,这是最快的解决方案。

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 2013-11-03
      • 2021-07-30
      • 2014-10-30
      • 2013-04-28
      • 2012-11-14
      • 1970-01-01
      • 2011-09-08
      • 2012-09-20
      相关资源
      最近更新 更多