Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件脚本赢得';我不能正常工作_Php_Javascript_Html_Email - Fatal编程技术网

PHP邮件脚本赢得';我不能正常工作

PHP邮件脚本赢得';我不能正常工作,php,javascript,html,email,Php,Javascript,Html,Email,好吧,我对PHP很陌生,所以我想我会问你们我做错了什么。我目前正在开发一个网站,您可以通过此电子邮件表单与该公司联系 但是,由于某些原因,电子邮件将无法发送。我已经尝试了多封电子邮件(并对代码进行了一些修改),但都不起作用 下面是mail.php脚本: <?php if ($_POST) { $name = $_POST['name']; $email = $_POST['email']; $text = $_POST['text']; //s

好吧,我对PHP很陌生,所以我想我会问你们我做错了什么。我目前正在开发一个网站,您可以通过此电子邮件表单与该公司联系

但是,由于某些原因,电子邮件将无法发送。我已经尝试了多封电子邮件(并对代码进行了一些修改),但都不起作用

下面是mail.php脚本:

    <?php
if ($_POST) {
    $name  = $_POST['name'];
    $email = $_POST['email'];
    $text  = $_POST['text'];

    //send email   
    mail("myemail@gmail.com", "email enquiry", $text, "From:" . $email);
}

?>
最后,这里是HTML:

        <div class="seven columns">

        <div id="form-sent" class="hide">   
            <div class="alert-box success">Message sent: Thankyou for your enquiry</div>
        </div>
        <form id="contact-form">
            <label>Name *</label>     
            <input id="form-name" type="text"/>
            <label>Email *</label>
            <input id="form-email"  type="text" />
            <label>Message *</label>
            <textarea id="form-msg"></textarea>
            <div id="details-error-wrap"  class="hide"> 
            <div class="alert-box alert error-box">Error: Please ensure all fields are filled in correctly</div>
            </div>
            <label>Security Question *</label>
            <input id="form-security" type="text" placeholder="7 + 1 = ?" />
            <div id="security-error-wrap"  class="hide">    
                <div class="alert-box alert error-box">Error: Security question is incorrect</div>
            </div>  
            <input type="submit" value="Submit" class="form-button right" />

        </form>

    </div>
</div>

发送信息:谢谢您的询问
姓名*
电子邮件*
信息*
错误:请确保正确填写所有字段
安全问题*
错误:安全问题不正确
我发布了所有三个相关的东西。这个网站的部分内容来自我正在使用的模板,所以如果你认为问题出在不同的文件中,请告诉我


提前谢谢,我希望有人能帮助我:)

首先,它可能会出现在你的垃圾邮件文件夹中

您是否使用您的个人电子邮件地址发送电子邮件?比如me@gmail.com?

如果是这样的话,这显然是行不通的,您需要设置SMTP,以便电子邮件能够通过防火墙并真正进入收件箱

可能希望更好地格式化脚本,也可以使用IF语句查看电子邮件是否确实由PHP发送:

 $to = 'myemail@gmail.com'; //Change this to the email you're using
 $subject = 'Website Contact Form';
 $headers = "From: " . "Me!! <myemail@gmail.com>" . "\r\n"; //This too
 $content  = "Hey!";

 if (mail($to, $subject, $content, $headers)) {
  echo "Success! Email was sent - Yay!";
 } else {
  echo "Error sending Email! booo!";
 }
$to='1!'myemail@gmail.com'; //将此更改为您正在使用的电子邮件
$subject='网站联系表';
$headers=“From:”。“我!!”。“\r\n”//这也是
$content=“嘿!”;
if(邮件($to、$subject、$content、$headers)){
echo“成功!已发送电子邮件-耶!”;
}否则{
echo“发送电子邮件时出错!booo!”;
}

承载此脚本的服务器是否安装了SMTP服务器?是否检查了mail()的返回值是否失败?您是否检查了邮件服务器的日志,以查看是否有任何东西是从PHP移交的?日志中有没有显示接收端拒绝了邮件?你需要检查的东西很多警告:你的脚本很容易被垃圾邮件发送者入侵。如果您使用动态标题(例如从
$\u POST
填充的
From
字段),则必须正确清理输入,否则您的邮件可能被黑客攻击,向任何人发送任意垃圾邮件。使用PHP的mail()函数编写的代码通常容易受到攻击,因为它无法帮助您避免这种情况。我强烈建议使用一个像样的mailer类,比如,它将为您完成所有的安全工作(再加上一大堆其他漂亮的特性)。
 $to = 'myemail@gmail.com'; //Change this to the email you're using
 $subject = 'Website Contact Form';
 $headers = "From: " . "Me!! <myemail@gmail.com>" . "\r\n"; //This too
 $content  = "Hey!";

 if (mail($to, $subject, $content, $headers)) {
  echo "Success! Email was sent - Yay!";
 } else {
  echo "Error sending Email! booo!";
 }