​一个PHP文件实现联系表单自动发送邮件

126 阅读2分钟

在现代网站中,联系表单是用户与网站所有者沟通的桥梁。为了提高用户体验和工作效率,使用一个PHP文件实现联系表单自动发送邮件是一种有效的解决方案。本文将介绍如何通过一个PHP文件实现联系表单自动发送邮件,并推荐使用AOKSend作为邮件发送服务。

为什么选择AOKSend?

在使用一个PHP文件实现联系表单自动发送邮件的过程中,选择一个可靠的邮件发送服务至关重要。AOKSend凭借其高可靠性和易用性,成为很多开发者的首选。AOKSend提供强大的API接口,支持快速集成和稳定的邮件发送服务。

创建HTML联系表单

首先,我们需要创建一个简单的HTML联系表单,通过这个表单收集用户的联系信息和消息。下面是一个基本的HTML联系表单代码:


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>联系表单</title>

</head>

<body>

    <form action="send_mail.php" method="POST">

        <label for="name">姓名:</label>

        <input type="text" id="name" name="name" required><br><br>

        

        <label for="email">电子邮件:</label>

        <input type="email" id="email" name="email" required><br><br>

        

        <label for="message">消息:</label>

        <textarea id="message" name="message" required></textarea><br><br>

        

        <input type="submit" value="发送">

    </form>

</body>

</html>

使用一个PHP文件实现联系表单自动发送邮件

接下来,我们将创建一个PHP文件 send_mail.php 来处理表单提交并发送邮件。为了使用AOKSend,我们需要获取API密钥,并配置SMTP设置。以下是一个完整的PHP文件示例,展示了如何实现联系表单自动发送邮件。


<?php

if ($_SERVER["REQUEST_METHOD"] == "POST") {

    $name = htmlspecialchars($_POST['name']);

    $email = htmlspecialchars($_POST['email']);

    $message = htmlspecialchars($_POST['message']);

  


    // AOKSend SMTP设置

    $smtpHost = 'smtp.aoksend.com';

    $smtpPort = 587;

    $smtpUser = 'your_aoksend_email@example.com';

    $smtpPass = 'your_aoksend_api_key';

  


    // 收件人和发件人信息

    $to = 'recipient@example.com';

    $subject = '新的联系表单提交';

    $body = "姓名: $name\n邮箱: $email\n消息:\n$message";

  


    // 使用PHPMailer发送邮件

    require 'PHPMailer/PHPMailer.php';

    require 'PHPMailer/SMTP.php';

    require 'PHPMailer/Exception.php';

  


    $mail = new PHPMailer\PHPMailer\PHPMailer();

    try {

        $mail->isSMTP();

        $mail->Host = $smtpHost;

        $mail->SMTPAuth = true;

        $mail->Username = $smtpUser;

        $mail->Password = $smtpPass;

        $mail->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS;

        $mail->Port = $smtpPort;

  


        // 收件人信息

        $mail->setFrom($smtpUser, '网站联系表单');

        $mail->addAddress($to);

  


        // 邮件内容

        $mail->isHTML(false);

        $mail->Subject = $subject;

        $mail->Body = $body;

  


        $mail->send();

        echo '邮件已发送成功。';

    } catch (Exception $e) {

        echo "邮件发送失败: {$mail->ErrorInfo}";

    }

} else {

    echo '非法访问。';

}

?>

解释代码

在这个PHP文件中,我们首先检查表单是否通过POST方法提交。然后,使用 htmlspecialchars 函数来清理用户输入,防止XSS攻击。

接下来,配置AOKSend的SMTP设置,包括SMTP服务器地址、端口、用户名和API密钥。我们使用PHPMailer库来发送邮件,该库是一个功能强大的邮件发送类库,支持SMTP、POP3和邮件认证。

在配置好PHPMailer后,我们设置发件人和收件人信息,并构建邮件内容。最后,尝试发送邮件,如果发送成功,输出成功消息,否则输出错误信息。

通过一个PHP文件实现联系表单自动发送邮件,可以显著提高网站的交互性和用户体验。使用AOKSend作为邮件发送服务,能够确保邮件的可靠送达和稳定性。希望本文的示例代码和步骤能帮助您轻松实现这一功能,为您的网站增添更多实用的互动功能。