[英]Sending a mail by running a shell script from php
因此,出於某種原因,我不能使用mail()PHP函數,也不能將PHPMailer與SMTP一起使用。 因此,為了尋找選項,我編寫了一個簡短的Shell腳本來發送帶有附件的電子郵件,如下所示:
#!/bin/bash
echo "Some text $1 $2 $3" | mail -a "/path/to/attached/file.xlsx" -s "Subject text" some@email.com
當我直接從終端運行文件時,它可以正常運行,並且正確接收了帶有附件和所有附件的郵件。
但是,當我嘗試從PHP運行時,我有以下代碼:
shell_exec("bash /path/to/script $m1t $m2t $afl");
它不顯示任何錯誤,也不返回任何輸出,但是郵件沒有發送。
我不能讓Shell腳本通過PHP調用來發送電子郵件嗎? 還是我做錯了什么?
感謝對此事的任何幫助。
對於Red Hat Enterprise Linux,CentOS,Fedora和其他Linux發行版以及SELinux,您應該驗證是否允許Apache進程訪問sendmail
。 可以通過登錄服務器( SSH
或在本地主機上打開終端)並運行來完成
getsebool httpd_can_sendmail
當輸出為httpd_can_sendmail --> off
,可以通過以下方式啟用它
sudo setsebool -P httpd_can_sendmail on
-P
-flag使其變為永久性,因此重新引導后仍可使用。 命令可能需要一段時間才能執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.