Ubuntu
配置 Linux 和 PHP 以通過腳本而不是 SMTP 發送電子郵件
我有一個帶有靜態 IP 的伺服器和一個指向它的域。因為它位於阻止 SMTP(傳入和傳出)的防火牆後面,所以我無法從中發送任何電子郵件。
無論如何,為了能夠使用域發送和接收電子郵件,我使用Mailgun。
例如,我可以使用 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()
呼叫,但顯然參數存在問題。當 I 時cat output.txt
,我只得到兩個空行。
我能夠解決這個問題。只是
mail()
將郵件的標題和內容輸入到stdin
相應的sendmail
二進制/腳本中。所以我調整了我的腳本來閱讀
stdin
,這確實有效。感謝本教程,它使我走上了正確的軌道。