配置 Linux 和 PHP 通过脚本而不是 SMTP 发送电子邮件

配置 Linux 和 PHP 通过脚本而不是 SMTP 发送电子邮件

我有一台具有静态 IP 的服务器,并且有一个指向它的域。由于它位于阻止 SMTP(传入和传出)的防火墙后面,因此我无法从它发送任何电子邮件。

为了能够使用域名发送和接收电子邮件,我使用邮件枪

例如,我可以使用 GMail 发送电子邮件 - 但不能使用 PHP,因为我只找到了使用 SMTP 配置 sendmail() 的说明。幸运的是,Mailgun 提供了一个 HTTPS API 来发送电子邮件。

问题

如何配置 PHP 来调用我服务器上的脚本,而该脚本本身又调用 Mailgun API?

注意:调用 API 不是问题。我只需要帮助配置 PHP。

我尝试过

在 php.ini 中,您可以像这样设置 sendmail 二进制文件的路径:

sendmail_path = /path/to/sendmail

我将其指向一个将所有参数转储到文件中的脚本:

echo "$@" > /path/to/output.txt

每次调用 PHP 时,该脚本确实都会被调用mail(),但显然参数有问题。当我执行时cat output.txt,我只得到两行空行。

答案1

我能够解决这个问题。只需mail()将邮件的标题和内容输入到stdin相应的sendmail二进制文件/脚本中即可。

因此我修改了我的脚本以便读取stdin,并且确实有效。

归功于本教程,这让我走上了正确的道路。

相关内容