PHP处理文件与jQuery表单验证插件

时间:2014-03-31 21:53:39

标签: php jquery forms

我使用jQuery validate form插件接收来自表单联系人的电子邮件。我的代码似乎运行但我没有收到邮件。我在WAMP看到“表格已发送”的消息。我已经配置了我的SMTP服务器,并且没有来自WAMP的错误消息。

我的表单:http://jsfiddle.net/Xroad/2pLS2/24/

怎么了?

<?php
 if(isset($_POST) && isset($_POST['form_firstname']) && isset($_POST['form_name']) && isset($_POST['form_email']) && isset($_POST['form_telephone']) && isset($_POST['form_message'])) {
    extract($_POST);
    if(!empty($form_firstname) && !empty($form_name) && !empty($form_email) && !empty($form_telephone) && !empty($form_message)) {
        $to = "XXXXXX@gmail.com"; // My real email
        $subjet = "Contact from the site";

        $msg = stripslashes($form_message);
        $msg = "A question came \n 
        Firstname : $form_firstname \n
        Name : $form_name \n
        Email : $form_email \n
        Message : $form_message";
        mail($to, $subjet, $msg);
        echo "Form sent";
    } else {
        echo "You have not filled in the field";
    }
 }
?>

<form id="form-general" action="php/traitement.php" method="post">

2 个答案:

答案 0 :(得分:1)

我认为你的主机有问题,所以我们尝试使用gmail SMTP服务器发送电子邮件。

为了做到这一点,我将使用一个名为Swift的电子邮件库,在此处免费下载http://swiftmailer.org/,一旦下载它,只需将文件夹重命名为swift并设置{{1} }} $smtp_settingsusername (您用来登录您的Gmail帐户的那个)并确保所需的文件

password

走在正确的道路上。 (因为现在你可以将swift文件夹放在邮件文件的同一个根目录中)

require_once dirname(__FILE__).'/swift/lib/swift_required.php';

答案 1 :(得分:1)

好吧,如果没有其他代码的简单mail()函数没有将邮件发送到您的收件箱,那么您的SMTP似乎还有更多要配置。

制作邮件(&#34; XXXXXX@gmail.com",&#34;来自网站的联系人&#34;,&#34;测试&#34;)先工作你的其余代码可能还不错。

<强>更新

SMTP 默认值为 localhost 。据我说,您无法解析域 SMTP (当前在您的php.ini中的域)!您可以在控制台中使用 telnet SMTP 25 检查(您可能需要先启用telnet)。

无论如何确保你在另一边有一个MTA - 我最好的猜测是你需要打电话给你的系统管理员并问他关于你的SMTP主机和端口。

只是为了让您保持警惕 - 如果您需要针对您的MTA进行身份验证,您必须找到另一种解决方案,因为php mail()(根据我的知识) )不能这样做。搜索SwiftMailer和PhpMailer,两者都有很多例子。

更新2

嗯, sendmail.exe 附带自己的配置文件,您需要输入smtp服务器,端口和凭据!

更新3

sendmail.exe TLS支持自2008年以来一直没有更新.Windows版本在3年前进行了最后一次更新,根据您选择的下载版本,您最终可能会使用旧版本。虽然它总体上有效,但已有许多报告存在问题。

即使是作者sendmail.exe也建议 MSMTP 作为一个很好的开源替代品,甚至 blat 作为一个更强大的工具。我看到的唯一缺点是那些有更多选项并使用不同的配置格式,这可能看起来更难配置。