出于某种原因,当我在网站上的表单中提交电子邮件时,我没有看到它显示在我的收件箱中,它只是说“电子邮件:”没有添加电子邮件地址??!帮助
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" );
?>
答案 0 :(得分:1)
你不能混合案例
$_REQUEST['Email'] != $_REQUEST['email']
因此请更改输入中的名称或更改您的请求。
<input type="email" placeholder="Email" name="Email">
- 或 - $_REQUEST['email']
答案 1 :(得分:0)
即使忽略了许多语法错误,例如:
在$ _REQUEST中使用错误的键,电子邮件的字段名称是小写的,因此在处理PHP脚本时它也应该是小写的。
表单中没有名为Name的字段,但您正在处理脚本的PHP代码中使用它。
您应该检查表单是否已提交,您可以这样做:
if( isset($_POST['submit']) ) {
//Code for handling
}
有很多事情可能会出错:列出一些:
由于您是从本地计算机/某个服务器发送电子邮件;最有可能的是它会被视为垃圾邮件,你可能想看看你的垃圾/垃圾邮件文件夹。
您在托管脚本的计算机上没有安装(或正在运行)任何SMTP服务器。
答案 2 :(得分:0)
不要混用大小写字母
$_REQUEST['Email'] != $_REQUEST['email']
因此请更改输入中的姓名或更改您的请求。
<input type="email" placeholder="Email" name="Email"> -or- $_REQUEST['email']