我有一台具有静态 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
,并且确实有效。
归功于本教程,这让我走上了正确的道路。