ubuntu

Ubuntu如何使用PHPMailer发送邮件

小樊
34
2025-05-28 02:09:14
栏目: 编程语言

在Ubuntu上使用PHPMailer发送邮件的步骤如下:

  1. 安装PHPMailer: 你可以使用Composer来安装PHPMailer。首先,确保你已经安装了Composer。如果没有,请访问https://getcomposer.org/download/ 并按照说明进行安装。

    打开终端,导航到你的项目目录,然后运行以下命令来安装PHPMailer:

    composer require phpmailer/phpmailer
    
  2. 创建PHP文件: 在你的项目目录中创建一个新的PHP文件,例如send_email.php

  3. 编写代码: 在send_email.php文件中,编写以下代码来使用PHPMailer发送邮件:

    <?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    
    require 'vendor/autoload.php';
    
    // 创建PHPMailer实例
    $mail = new PHPMailer(true);
    
    try {
        // 服务器设置
        $mail->SMTPDebug = 2;                                      // 启用详细调试输出
        $mail->isSMTP();                                           // 使用SMTP
        $mail->Host       = 'smtp.example.com';                     // 设置SMTP服务器
        $mail->SMTPAuth   = true;                                   // 启用SMTP认证
        $mail->AuthType   = 'XOAUTH2';                              // 设置认证类型
        $mail->Port       = 587;                                    // 设置SMTP端口
        $mail->SMTPSecure = 'tls';                                  // 启用TLS加密
    
        // 发件人和收件人
        $mail->setFrom('from@example.com', 'Mailer');
        $mail->addAddress('recipient@example.com', 'Recipient Name');     // 添加收件人
    
        // 内容
        $mail->isHTML(true);                                        // 设置邮件格式为HTML
        $mail->Subject = '这里是邮件的主题';
        $mail->Body    = '这是一封测试邮件<br><b>这是一个粗体文本</b>';
        $mail->AltBody = '这是一封测试邮件\n这是一个粗体文本';
    
        $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }
    

    请根据你的实际情况修改SMTP服务器、端口、发件人和收件人等信息。

  4. 运行脚本: 在终端中,导航到你的项目目录,然后运行以下命令来执行脚本:

    php send_email.php
    

    如果一切正常,你应该会看到“Message has been sent”的输出,并且收件人会收到一封测试邮件。

注意:在实际部署时,请确保你的SMTP服务器设置正确,并且已经启用了相应的认证方式。此外,为了安全起见,建议将SMTP密码和其他敏感信息存储在环境变量或配置文件中,而不是直接写在脚本中。

0
看了该问题的人还看了