php 表单到电子邮件不发送电子邮件
php form to email not sending email
我是 php 的新手,正在尝试通过表单向我的 gmail 发送电子邮件。单击提交后,我在页面上没有看到任何错误,但我没有收到电子邮件。我的发件人 ID 和收件人 ID 存在,并且发件人电子邮件 ID 在服务器上(确保不是垃圾邮件)。
<?php
if(isset($_POST['submit'])){
$to = "existingmygamilid@gmail.com";
$subject = "Pickup Request";
$mailContent = $_POST['name'].$_POST['adress'].$_POST['mobile'].$_POST['email'].$_POST['message'];
$message = "
<html>
<head>
<title> Pickup Request</title>
</head>
<body>
<p>Hey!... You got a pickup request.</p>
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <existingemail@testdomain.com>' . "\r\n";
mail($to,$subject,$message,$headers);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" class="alt" method="POST">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)">
<input name="name" placeholder="Name" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="address" placeholder="Address" type="text" />
</div>
<div class="6u 12u$(xsmall)">
<input name="mobile" placeholder="Mobile or Landline" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="email" placeholder="Email" type="email" />
</div>
<div class="12u$">
<textarea name="message" rows="6"></textarea>
</div>
</div>
<ul class="actions">
<li><input type="submit" value="Send message" /></li>
</ul>
</form>
试试这个:
<ul class="actions">
<li><input type="submit" value="Send message" name="submit" /></li>
</ul>
为提交按钮输入 'name'。否则你的 isset($_POST['submit']
将无法工作
试试这个
<?php
if(isset($_POST['submit'])){
$to = "existingmygamilid@gmail.com";
$subject = "Pickup Request";
$mailContent = $_POST['name'].$_POST['adress'].$_POST['mobile'].$_POST['email'].$_POST['message'];
$message = "
<html>
<head>
<title> Pickup Request</title>
</head>
<body>
<p>Hey!... You got a pickup request.</p><br><p>";
$message .= $mailContent;
$message .= "</p></body></html>";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <existingemail@testdomain.com>' . "\r\n";
mail($to,$subject,$message,$headers);
}
?>
<form action="" class="alt" method="post">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)">
<input name="name" placeholder="Name" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="address" placeholder="Address" type="text" />
</div>
<div class="6u 12u$(xsmall)">
<input name="mobile" placeholder="Mobile or Landline" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="email" placeholder="Email" type="email" />
</div>
<div class="12u$">
<textarea name="message" rows="6"></textarea>
</div>
</div>
<ul class="actions">
<li><input type="submit" name="submit" value="Send message" /></li>
</ul>
</form>
错误是
submit
中缺少属性 (name="submit"
)
- 没有使用
$mailContent
- 邮件正文中没有结束标记(缺少
</body>
和 <html>
)
action="<?php echo $_SERVER['PHP_SELF']; ?>"
声明错误
此条件在您的代码中失败
if(isset($_POST['submit']))
您需要为您的提交按钮提供名称属性,它才会起作用
<input type="submit" name="submit" value="Send message" />
更改此行
<input type="submit" name="submit" value="Send message"/>
我是 php 的新手,正在尝试通过表单向我的 gmail 发送电子邮件。单击提交后,我在页面上没有看到任何错误,但我没有收到电子邮件。我的发件人 ID 和收件人 ID 存在,并且发件人电子邮件 ID 在服务器上(确保不是垃圾邮件)。
<?php
if(isset($_POST['submit'])){
$to = "existingmygamilid@gmail.com";
$subject = "Pickup Request";
$mailContent = $_POST['name'].$_POST['adress'].$_POST['mobile'].$_POST['email'].$_POST['message'];
$message = "
<html>
<head>
<title> Pickup Request</title>
</head>
<body>
<p>Hey!... You got a pickup request.</p>
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <existingemail@testdomain.com>' . "\r\n";
mail($to,$subject,$message,$headers);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" class="alt" method="POST">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)">
<input name="name" placeholder="Name" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="address" placeholder="Address" type="text" />
</div>
<div class="6u 12u$(xsmall)">
<input name="mobile" placeholder="Mobile or Landline" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="email" placeholder="Email" type="email" />
</div>
<div class="12u$">
<textarea name="message" rows="6"></textarea>
</div>
</div>
<ul class="actions">
<li><input type="submit" value="Send message" /></li>
</ul>
</form>
试试这个:
<ul class="actions">
<li><input type="submit" value="Send message" name="submit" /></li>
</ul>
为提交按钮输入 'name'。否则你的 isset($_POST['submit']
将无法工作
试试这个
<?php
if(isset($_POST['submit'])){
$to = "existingmygamilid@gmail.com";
$subject = "Pickup Request";
$mailContent = $_POST['name'].$_POST['adress'].$_POST['mobile'].$_POST['email'].$_POST['message'];
$message = "
<html>
<head>
<title> Pickup Request</title>
</head>
<body>
<p>Hey!... You got a pickup request.</p><br><p>";
$message .= $mailContent;
$message .= "</p></body></html>";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <existingemail@testdomain.com>' . "\r\n";
mail($to,$subject,$message,$headers);
}
?>
<form action="" class="alt" method="post">
<div class="row uniform 50%">
<div class="6u 12u$(xsmall)">
<input name="name" placeholder="Name" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="address" placeholder="Address" type="text" />
</div>
<div class="6u 12u$(xsmall)">
<input name="mobile" placeholder="Mobile or Landline" type="text" />
</div>
<div class="6u$ 12u$(xsmall)">
<input name="email" placeholder="Email" type="email" />
</div>
<div class="12u$">
<textarea name="message" rows="6"></textarea>
</div>
</div>
<ul class="actions">
<li><input type="submit" name="submit" value="Send message" /></li>
</ul>
</form>
错误是
submit
中缺少属性 (- 没有使用
$mailContent
- 邮件正文中没有结束标记(缺少
</body>
和<html>
) action="<?php echo $_SERVER['PHP_SELF']; ?>"
声明错误
name="submit"
)
此条件在您的代码中失败
if(isset($_POST['submit']))
您需要为您的提交按钮提供名称属性,它才会起作用
<input type="submit" name="submit" value="Send message" />
更改此行
<input type="submit" name="submit" value="Send message"/>