电子邮件不发送| PHP

时间:2017-03-07 22:43:03

标签: php forms email

你能否就这段代码给我一些建议?我是完全新的PHP和我试图使用此表单发送电子邮件。当我填写表格并发送它时,我得到的消息是每件事情都没事,但我没有收到任何电子邮件。

HTML

<form action="send.php" id="contact-form" method="post" class="clearfix">           
                    <fieldset class="field-1-3 left">
                        <label>Name</label>
                        <input type="text" name="name" id="Myname" onblur="if(this.value=='')this.value='Your name...';" onfocus="if(this.value=='Your name...')this.value='';" value="Imię i nazwisko..." class="text requiredField m-bot-20" >
                    </fieldset >
                    <fieldset class="field-1-3 left">
                        <label>Email</label>    
                        <input type="text" name="email" id="myemail"   onblur="if(this.value=='')this.value='Your email...';" onfocus="if(this.value=='Your email...')this.value='';" value="Adres email..."  class="text requiredField email m-bot-20" >
                    </fieldset>
                    <fieldset class="field-1-3 left">
                        <label>Subject</label>  
                        <input type="text" name="subject" id="mySubject"  onblur="if(this.value=='')this.value='Subject...';" onfocus="if(this.value=='Subject...')this.value='';" value="Temat..." class="text requiredField subject m-bot-20" >
                    </fieldset> 
                    <fieldset class="field-1-1 left">
                        <label>Message</label>
                        <textarea name="message" id="Mymessage" rows="5" cols="30" class="text requiredField" onblur="if(this.value=='')this.value='W...';" onfocus="if(this.value=='Your message...')this.value='';"   >Wiadomosc...</textarea>
                    </fieldset>
                    <fieldset class="right m-t-min-1">
                        <input name="Mysubmitted" id="Mysubmitted" value="OK" class="button medium" type="submit" >
                    </fieldset>
                </form>

PHP

<?php
    if(isset($_POST['Mysubmitted'])){
        $to = 'myemailhere@gmail.com';
        $subject = $_POST['subject'];
        $from_name = $_POST['name'];
        $from_email = $_POST['email'];
        $message = $_POST['message'];
        $header = "From: $from_name <$from_email>";
        mail($to, $subject, $message, $header);



    }
?>

1 个答案:

答案 0 :(得分:0)

虽然代码没有解析错误(并且存在许多问题,包括 - 但不限于 - 如果有人提交空表单,未定义的变量),不接收电子邮件可以缩小到以下两种情况之一: / p>

  1. 用于运行此代码的系统上没有sendmail(即XAMPP / WAMP)
  2. 如果sendmail确实存在,最终会收到垃圾邮件或垃圾邮件。
  3. 请注意(AFAIK)没有windows apache / php捆绑包附带有工作的sendmail,并且大多数免费的webhosts限制了邮件功能的使用。