PHP电子邮件表单未添加提交到我的收件箱的电子邮件

时间:2014-02-28 17:25:31

标签: php html forms email

出于某种原因,当我在网站上的表单中提交电子邮件时,我没有看到它显示在我的收件箱中,它只是说“电子邮件:”没有添加电子邮件地址??!帮助

HTML

 <form method="POST" action="/subscribe.php">
      <input type="email" placeholder="Email" name="email">
      <input type="submit" value="submit" name="submit">
    </form>

这是我的PHP代码:

<?php

## CONFIG ##

# LIST EMAIL ADDRESS
$recipient = "domaininfo@gmail.com";

# SUBJECT (Subscribe/Remove)
$subject = "Notify me when you launch";

# RESULT PAGE
$location = "http://apple.com";

## FORM VALUES ##

# SENDER - WE ALSO USE THE RECIPIENT AS SENDER
# DON'T INCLUDE UNFILTERED USER INPUT IN THE MAIL HEADER!
# SEE ALSO: How to protect a php Email Form using php mail or mb_send_mail against Mail Header Injection
$sender = $recipient;

# MAIL BODY
$body .= "Name: ".$_REQUEST['Name']." \n";
$body .= "Email: ".$_REQUEST['Email']." \n";
# add more fields here if required

## SEND MESSGAE ##

mail( $recipient, $subject, $body, "From: $sender" ) or die ("Mail could not be sent.");

## SHOW RESULT PAGE ##

header( "Location: $location" );
?>

3 个答案:

答案 0 :(得分:1)

你不能混合案例

$_REQUEST['Email'] != $_REQUEST['email']

因此请更改输入中的名称或更改您的请求。

<input type="email" placeholder="Email" name="Email"> - 或 - $_REQUEST['email']

答案 1 :(得分:0)

即使忽略了许多语法错误,例如:

  1. 在$ _REQUEST中使用错误的键,电子邮件的字段名称是小写的,因此在处理PHP脚本时它也应该是小写的。

  2. 表单中没有名为Name的字段,但您正在处理脚本的PHP代码中使用它。

  3. 您应该检查表单是否已提交,您可以这样做:

    if( isset($_POST['submit']) ) {
      //Code for handling
    }
    
  4. 有很多事情可能会出错:列出一些:

    1. 由于您是从本地计算机/某个服务器发送电子邮件;最有可能的是它会被视为垃圾邮件,你可能想看看你的垃圾/垃圾邮件文件夹。

    2. 您在托管脚本的计算机上没有安装(或正在运行)任何SMTP服务器。

答案 2 :(得分:0)

不要混用大小写字母

$_REQUEST['Email'] !=  $_REQUEST['email']

因此请更改输入中的姓名或更改您的请求。

<input type="email" placeholder="Email" name="Email"> -or- $_REQUEST['email']

通过http://itspiders.net