gpt4 book ai didi

php - Debian 无法从 PHP 发送邮件

转载 作者:行者123 更新时间:2023-12-05 08:58:48 25 4
gpt4 key购买 nike

Mailer Error: Could not execute: /usr/sbin/sendmail

我用的是debian服务器,文件权限是777(全部允许),所以我不能执行它,为什么?

//Create a new PHPMailer instance
$mail = new PHPMailer();
// Set PHPMailer to use the sendmail transport
$mail->isSendmail();
//Set who the message is to be sent from
$mail->setFrom('admin@test.com', 'test');
//Set an alternative reply-to address
//$mail->addReplyTo('replyto@example.com', 'First Last');
//Set who the message is to be sent to
$mail->addAddress($_POST['email'], $_POST['name']);
//Set the subject line
$mail->Subject = 'PHPMailer sendmail test';
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
$mail->msgHTML("from test");
//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';
//Attach an image file
//$mail->addAttachment('images/phpmailer_mini.gif');

//send the message, check for errors
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}

最佳答案

在 Ubuntu 中 sendmail 默认没有安装。您将必须手动安装它:

sudo apt-get install sendmail-bin

编辑 1:

如果您使用的是 PHPMailer,您可以使用以下方式设置 Sendmail 路径:

$mail->Sendmail     = '/usr/sbin/sendmail';

很容易测试 PHP 代码或邮件服务器配置中的问题,甚至可能是防火墙。尝试从命令行运行并查看您是否收到电子邮件:

/usr/sbin/sendmail -v my@address.com < email.test

此外,您实际上可以收到邮件,但它可能被放入 SPAM 文件夹中,因此也请检查那里的邮件。

编辑 2:

还有一件事是您应该安装 sendmailconfig 然后运行它来配置它:

sudo sendmailconfig

阅读有关在 Ubuntu 上配置 sendmail 的更多信息:sendmail: how to configure sendmail on ubuntu?

关于php - Debian 无法从 PHP 发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com