需要帮助:努力为我的联系表单设置 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 进行安全电子邮件发送
提前感谢您的指导!😊