发布于2026-07-16 阅读(0)
扫一扫,手机访问
在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)。可以用ufw或iptables检查一下规则,必要时放行对应端口。
最后,建议用其他邮件客户端(比如Thunderbird)或者在线SMTP测试工具,从外部验证你的邮件服务器是否真的能正常收发。这一步能帮你排除PHP脚本本身之外的问题。
走完这些步骤,Ubuntu上的PHP邮件发送功能就基本配置好了。后续如果需要批量发送或者处理更复杂的邮件模板,可以再基于PHPMailer做扩展,但核心链路已经跑通。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8