📅  最后修改于: 2023-12-03 14:53:20.599000             🧑  作者: Mango
当 PHP 脚本运行在本地主机 XAMPP 服务器上时,要从本地服务端发送邮件,需要配置服务器以配置正确的邮件服务程序和相关参数。
以下是配置 XAMPP 以使用 PHP 从本地主机发送邮件的步骤:
打开 XAMPP 控制面板,并启动 Apache、MySQL 和 Mercury 邮件服务器服务。
在浏览器中打开 Mercury 邮件服务器的管理员页面,即在地址栏输入 http://localhost:10000/
,然后登录。初始管理员账号为 postmaster
,密码为 Mercury
。
在左侧菜单列表中选择 "MercuryS SMTP Server",并确保 SMTP 服务器状态为 "已启用"。然后单击 "Configure SMTP Server" 链接。
在新页面中,选择 "Relay Control" 选项卡,在 "Allow plain text authentication" 处单击 "Add" 按钮,并输入以下信息:
Domain name: localhost
From address: postmaster@localhost
To address: *
点击 "OK" 保存更改。这将允许 XAMPP 服务器使用该实例 SMTP 服务器。如果您的 SMTP 服务器在另一台计算机上运行,则需要更改 "Domain name" 为 SMTP 服务器的域名或 IP 地址。
然后选择 "Authentication & Encryption" 选项卡,在 "SMTP Authentication & POP3 Authentication" 两个下拉菜单中选择 "Use Server Authentication",并在 "Allow Authenticated Users To Relay Mail" 处选择 "Allow all authenticated users to relay"。
单击 "Apply" 按钮应用更改,并在 "MercuryS SMTP Server" 页面上单击 "Restart" 按钮以重启 SMTP 服务器。
现在可以使用 PHP 邮件函数 mail()
发送邮件了。例如,以下代码将发送一封来自 "postmaster@localhost" 的测试邮件:
<?php
$to = "recipient@example.com";
$subject = "Test email";
$message = "Hello world!";
$headers = "From: postmaster@localhost" . "\r\n" .
"Reply-To: postmaster@localhost" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
if (mail($to, $subject, $message, $headers)) {
echo "Email sent successfully!";
} else {
echo "Failed to send email";
}
?>
以上步骤将使 XAMPP 服务器能够发送邮件。记得更改电子邮件的主题、正文、收件人地址和发件人地址,以适应您的应用程序。