php - php中的html表单不从服务器发送到电子邮件
问题描述
我的 php 页面中有一个表单,如下所示:
<form action="" method="post">
<h1>Sign Up Now!
<!-- <span>Sign up and tell us what you think of the site!</span> --></h1>
<div class="inner-wrap">
<label>Your Full Name <input type="text" name="field1" /></label>
<label>Address <textarea name="field2"></textarea></label>
</div>
<div class="button-section">
<input type="submit" value="Submit" name="Sign Up" />
</div>
</form>
它的代码如下:
<?php
if(isset($_POST['submit'])){
$to = "zubairking@gmail.com"; // this is your Email address
$from = $_POST['field1']; // this is the sender's Email address
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
// You can also use header('Location: thank_you.php'); to redirect to another page.
}
?>
我的服务器也启用了邮件,但是我的这段代码没有向我的邮件发送值,所有代码都在一页中,谁能告诉我我的代码有什么问题?提前致谢
解决方案
您需要提交按钮才能满足name="submit"
条件if(isset($_POST['submit']))
。您还需要在表单中添加 names='first_name'、'last_name' 和 'message' 的元素,以便在您尝试执行的操作时将它们应用到您的电子邮件消息中。您还需要<input type="text" name="field1" />
成为电子邮件而不是名称,因为您正在使用它来设置电子邮件的发件人。
推荐阅读
- javascript - 如何使用 Nodejs 正确创建跨平台路径?
- amazon-web-services - python中的lambda函数调用的codebuild项目的连接超时
- algorithm - 在 Matlab 3D 数组中查找重复的 2D 数组
- vue.js - vue一文件,echarts报错xAxis "0" not found
- python - 在python中嵌套for循环,似乎无法正常工作
- python - 在 python 中实例化类时如何返回浮点类型?
- python - gsutil 将文件从谷歌存储桶复制到本地机器出现错误“找不到 Python”
- java - JUnit 测试用例抛出 NoClassDefFoundError
- android - 如何在android 11中从intent uri创建文件
- vmware - 将 KVM 来宾迁移到 VMware:卡在错误恢复屏幕上