首页 > 解决方案 > 如何将 PHP 电子邮件脚本连接到 Postfix?

问题描述

我有一个 VPS,我在其中安装了我的站点文件,包括在以下目录中使用 php mail() 函数的 PHP 电子邮件脚本(如何设置我的站点目录/路径):

/var/www/mywebsite.com/html/

*下图中显示的目录/路径结构: https ://ibb.co/2SDjb8z

当我安装 Postfix 时,我已将其配置为通过 Amazon SES 发送电子邮件。Postfix 已安装在以下目录中:

/etc/后缀/

*下图中显示的目录/路径结构: https ://ibb.co/XF1JFvv

我遇到的问题是,它会在测试 Postfix 已正确安装以及使用 Amazon SES SMTP 时从命令行发送电子邮件,但我的 php 电子邮件脚本没有从我的网站文件夹目录连接到 Postfix。

如何将我的 php 电子邮件脚本连接到 Postfix?我需要更改目录吗?

这是我在下面使用的 php mail() 函数脚本:

<?php
$to = "MyTestEmailAddress@gmail.com";
$subject = "Another Test!";
$txt = "Hello world!";
$headers = "From: MyEmailAddress@gmail.com" . "\r\n" .
"CC: AnotherTestEmailAddress.com";

mail($to,$subject,$txt,$headers);
?>

请注意,上面的 php 脚本位于我的网站文件夹中名为“email1.php”的文件中。我只是想将它连接到位于“/etc/postfix”目录中的 Postfix。

标签: phpemailubuntuvpspostfix-mta

解决方案


当您安装 Postfix 时,它应该已经创建了一个sendmail命令行程序

找到它并在php.inisendmail_pathoption设置它的路径。

sendmail_path 字符串
sendmail 程序所在的位置,通常是 /usr/sbin/sendmail/usr/lib/sendmail。configure 会诚实地尝试为您找到这个并设置默认值,但如果失败,您可以在此处进行设置。

不使用 sendmail 的系统应该将此指令设置为其邮件系统提供的 sendmail 包装器/替换(如果有)。例如, » Qmail 用户通常可以将其设置为/var/qmail/bin/sendmail/var/qmail/bin/qmail-inject


推荐阅读