您好,登錄后才能下訂單哦!
Mac環境中如何用php的error_log函數發送郵件?其實要解決這個問題也不難,這篇文章給出了相對應的分析和解答,下面我們一起來看看解決的方法。
先介紹一個php中用來記錄log的一個函數error_log,它用來發送錯誤到某個地方。函數介紹
bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]]
其中$message表示要記錄的信息;$message_type用來設置信息要發往何處。可能的信息類型如下:
0 : message 發送到 PHP 的系統日志,使用 操作系統的日志機制或者一個文件,取決于 error_log 指令設置了什么。 這是個默認的選項。
1 : message 發送到參數 destination 設置的郵件地址。 第四個參數 extra_headers 只有在這個類型里才會被用到。
2 : 不再是一個選項
3 : message 被發送到位置為 destination 的文件里
4 : message 直接發送到 SAPI 的日志處理程序中。
此外,$destination由$message_type所決定;$extra_headers當$message_type為1時使用。
在*nix操作系統下,php發送郵件是通過sendmail組件。所以要先確保已經安裝了sendmail組件。可以通過以下命令測試你的服務器上的郵件服務是否正常。未發送成功的郵件默認會退回/var/mail/下。可以自行查看退回的郵件中的詳情。
echo "test mail content" | mail -s "test mail subject" {xxx@yy.com}
Start
1.安裝sendmail
Mac正常默認帶有sendmail,位于/usr/sbin/下。如果沒有,可以自行搜索安裝下~
2.找到php所使用的配置文件php.ini
php -i | grep php.ini
3.打開php.ini,找到sendmail配置行
sendmail_path = "/usr/sbin/sendmail -t -i"
4.如果是在web項目中使用,配置完以后重啟服務器方可生效。
5.測試。使用php -a 打開php交互式shell,輸入以下代碼,然后前往郵箱查看(注:郵箱可能會屏蔽掉此類郵件,請注意添加白名單)。
error_log('hello world',1,'xxx@yy.com');
大致是如上步驟。其他Linux類操作系統關于此的配置大同小異,感興趣的伙伴可以自行嘗試下。本文不足的地方也請大伙們提出批評修改意見~
以上就是Mac環境中用php的error_log函數發送郵件的方法,詳細使用情況還需要大家自己親自動手使用過才能領會。如果想了解更多相關內容,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。