我如何向用户发送电子邮件,其中包含他们在表单中提交的数据,其中包括一条使用名称的小消息,并在提交 php 表单时感谢他们。
这是我当前的 php 代码。它目前只是向他们显示一条消息,上面写着名称并且消息已发送,然后向我的电子邮件地址发送了一封电子邮件。
<?php
if(isset($_POST['submit'])){
$to = "benlevygraphics@gmail.com";
$headers = "From: " . $_POST['email'];
$subject = "Ben, you have been contacted...";
$body = "Name: " . $_POST['name'] . "'nEmail: " . $_POST['email'] . "'nWebsite: " . $_POST['web'] . "'nMessage: " . $_POST['message'];
if(mail($to, $subject, $body, $headers)){
echo("<p class=contactformsent>".$_POST['name'].", your message has been sent!</p>");
}
else{
echo("<p class=contactformnotsent>".$_POST['name'].", Message delivery failed...</p>");
}
}
?>
我是 php 的新手,我在网上阅读过东西,但我仍然不明白,所以如果你能清楚地了解你的例子或帮助,我将不胜感激。谢谢!
假设您当前的代码已经正常工作,您可以这样做与收件人一起向自己发送电子邮件:
- 将
$to
设置为$_POST['email']
- 将
$headers
设置为"From: {$_POST['email']}'r'nBcc: benlevygraphics@gmail.com"
- 根据您的需求调整
$body
和$subject
。
顺便说一句,我不能经常这样说;确保你的页面有某种形式的CSRF保护。
如何使用 PHP 正确添加 CSRF 令牌
以上只是一种方式,还有其他方式,只需搜索:)
查看你的php.ini因为你必须输入一个SMTP服务器。在我的文件中,它以"[邮件功能]"开头的第 1087 行