php - 如何使用 php mail() 函数
问题描述
我知道这段代码会在本地主机上出错,而不能在实时服务器上运行。
如您所见,我正在尝试为邮件功能运行此代码。此功能在我的其他站点上运行,但在此站点上工作。知道此代码将在本地主机上给出错误但不显示错误。表格可能有些问题。我不知道究竟是什么错误请告诉我问题。
function send-message()
{
if(ISSET($_POST['submit'])) {
$to = "abc@example.com";
$FROM_NAME= $_POST['name'];
$cell = $_POST['cell'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "From:{$FROM_NAME} {$email} {$cell}";
$result = mail($to, $subject, $message, $headers);
if (!$result) {
echo "error";
}
else{
echo "sent";
}
}
}
这是一个表格,请解决错误
<form method="post" id="contact-form" action="">
<?PHP send-message(); ?> // function call here
<div class="input-box mt-25">
<label for="#">Full Name Here</label>
<input type="text" name="name" placeholder=" Enter Name Here" required="">
<i class="FAL FA-user"></i> //please ignore capital letter
</div>
<div class="input-box mt-25">
<label for="#">Phone Number</label>
<input type="text" placeholder="Enter your phone number *" name="cell" required="" max length="11" min length="11">
<i class="FAS FA-phone-square"></i>
</div>
<div class="input-box mt-25">
<label for="#">I Would Like To Discuss</label>
<input type="email" name="email" placeholder="Enter your email" required="">
<i class="far FA-envelope"></i>
</div>
<div class="input-box mt-25">
<label for="#">Subject</label>
<input name="subject" type="text" placeholder="Subject *" required="">
<i class="FAS FA-book"></i>
</div>
<div class="input-box mt-25">
<label for="#">Leave A Message</label>
<text area name="message" id="#" cols="30" rows="10" placeholder="Write Message"></text area>
<i class="FAL FA-pen-alt"></i>
</div>
<div class="submit-BTN text-left mt-20">
<button type="submit" name="submit" class="main-BTN">Send Message</button>
</div>
解决方案
您的代码中有多个错误。
send-message
似乎不是一个有效的函数名。
另一个问题是关于该headers
部分的,查看官方 php.net/mail 文档以了解如何mail
正确使用该功能,以及如何编写正确的标题以及何时进行换行。
可能还有更多错误,我建议您在开发时启用(再次display_errors
,error_reporting
如果您不知道,请查看官方文档以了解如何启用它:))
推荐阅读
- ios - 如何使用 alamofire 快速使用嵌套的 json 对象发出请求?
- neural-network - 用于 CNN 中间层可视化的特征图预处理
- javascript - 根据日期或间隔javascript增加一个数字(并在刷新页面后保留)
- mysql - 性能问题 - 重构执行相同连接的选择子查询
- mfc - 升级到 Visual Studio 2019 后未解析的外部符号 ATL::IAtlMemMgr
- scikit-learn - tfidf 是否应该结合训练集和测试集生成?
- jenkins - 无法在调试语句中访问额外变量的值
- python-3.x - 使用 for 循环将数据组织成部分
- mysql - MySQL Query 以 YYYY-YYYY 形式查找少于会计年度的行
- ruby-on-rails - 找不到“webpack-dev-server”命令 - 带有 Rails 6 的 Docker