商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 怎样在Ubuntu上配置PHP的邮件发送功能

怎样在Ubuntu上配置PHP的邮件发送功能

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

在Ubuntu上让PHP具备邮件发送能力,其实并不复杂。把几个关键步骤走通,就能让你的应用顺利发出邮件。下面直接进入正题。

怎样在Ubuntu上配置PHP的邮件发送功能

先来搞定PHP邮件发送库的安装。最常用的方案是PHPMailer,它功能完善、坑少。用下面这条命令就能装好:

sudo apt update
sudo apt install php-mailer/phpmailer

装完之后,需要创建一个PHP脚本来配置发送逻辑。比如新建一个send_email.php文件,把下面的代码放进去——注意根据你自己的SMTP服务器信息修改参数:

SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Send using SMTP
    $mail->Host       = 'smtp.example.com';               // Set the SMTP server to send through
    $mail->SMTPAuth   = true;                             // Enable SMTP authentication
    $mail->AuthType   = 'login';                          // SMTP authentication type
    $mail->Port       = 587;                              // TCP port to connect to; use 465 for `PHPMailer::ENCRYPTION_SMTPS`
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged

    // Recipients
    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('recipient@example.com', 'Joe User');     // Add a recipient

    // Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body in bold!';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

这里有几个关键点需要替换:smtp.example.com换成你的SMTP服务器地址,端口号根据加密方式调整(587对应TLS,465对应SSL),用户名和密码在代码中虽然没有直接体现,但通常会在PHPMailer的配置中通过$mail->Username$mail->Password设置——如果你用的是类似Gmail或企业邮箱,记得开启SMTP授权并填写正确的凭据。

脚本写好后,在终端直接运行它:

php send_email.php

如果一切正常,你会看到输出Message has been sent,收件箱里也会收到测试邮件。但要是没成功,先别急,看看报错信息——常见的问题包括SMTP服务器地址填错、端口被防火墙拦截、或者认证信息不对。

说到防火墙,这一步很容易被忽略。确保你的Ubuntu服务器允许出站SMTP流量,尤其是587端口(TLS)或465端口(SSL)。可以用ufwiptables检查一下规则,必要时放行对应端口。

最后,建议用其他邮件客户端(比如Thunderbird)或者在线SMTP测试工具,从外部验证你的邮件服务器是否真的能正常收发。这一步能帮你排除PHP脚本本身之外的问题。

走完这些步骤,Ubuntu上的PHP邮件发送功能就基本配置好了。后续如果需要批量发送或者处理更复杂的邮件模板,可以再基于PHPMailer做扩展,但核心链路已经跑通。

本文转载于:https://www.yisu.com/ask/18809353.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注