需要帮助:努力为我的联系表单设置 PHP Mailer
嘿,开发者社区!👋
我是一名数字营销爱好者和 PHP 初学者,我需要一些帮助解决我的网站上的问题。
我的网站
📍 WebFluence
具体来说,这里的联系表:联系表
问题
联系表单附带一个预建的 PHP 文件,位于 includes/sendmail.php 中。不幸的是,该脚本使用了过时的 mail() 函数,Hostinger(我的托管服务提供商)告诉我该函数不安全,不推荐使用。他们建议我使用 PHPMailer,它已预安装在他们的商业托管计划中。
我读过关于设置 PHPMailer 的文章,但说实话,这对我来说有点难以理解,因为我以前从未使用过 PHP。模板作者还没有回复,我只能试着弄清楚。
细节
域名:在 GoDaddy 注册
托管:Hostinger 商业计划
当前邮件脚本:过时的 mail() 函数脚本在这里:
Thanks for contacting us. We will contact you ASAP!"; echo $successTxt; } ?>
我需要什么
我想用一个安全的基于 PHPMailer 的脚本替换此脚本。Hostinger 已预装 PHPMailer,而且我听说它更可靠。我找到了一篇关于设置它的文章,但对于我这个 PHP 新手来说,它太令人困惑了。
这就是我现在所拥有的:
isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = 'smtp.hostinger.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'sales@webfluence.digital';
$mail->Password = 'c;Ge?H9unUs#:T0J';
$mail->setFrom('sales@webfluence.digital', 'Dusan Walla');
$mail->addReplyTo('sales@webfluence.digital', 'Dusan Walla');
// Read the form values and sanitize them to prevent injection attacks
$senderName = isset($_POST['name']) ? preg_replace("/[^\.\-\' a-zA-Z0-9]/", "", $_POST['name']) : ""; // Remove any characters that are not letters, numbers, spaces, dots, hyphens, or apostrophes
$senderEmail = isset($_POST['email']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['email']) : ""; // Remove any characters that are not letters, numbers, dots, hyphens, underscores, or @
$subject = isset($_POST['subject']) ? preg_replace("/[^\.\-\' a-zA-Z0-9]/", "", $_POST['subject']) : ""; // Remove any characters that are not letters, numbers, spaces, dots, hyphens, or apostrophes
$budget = isset($_POST['budget']) ? preg_replace("/[^\.\-\' a-zA-Z0-9]/", "", $_POST['budget']) : ""; // Remove any characters that are not letters, numbers, spaces, dots, hyphens, or apostrophes
$message = isset($_POST['message']) ? preg_replace("/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message']) : ""; // Remove any email headers to prevent header injection
$mail->addAddress('sales@webfluence.digital', 'Dusan Walla');
$mail->Subject = $subject;
$mail->Body = <<send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo "Thanks for contacting us. We will contact you ASAP!
";
}
}
?> 问题
如何以最简单的方式用 PHPMailer 替换该脚本?
是否有分步指南可以详细说明我需要做什么?
如何在脚本中配置 Hostinger 的 SMTP 设置?
任何帮助都将不胜感激!🙏
其他资源
这是我所指的文章:如何使用 PHPMailer 进行安全电子邮件发送
提前感谢您的指导!😊