我在 Amazon Lightsail WordPress 網站的登入頁面上使用「遺失密碼」選項時,收到錯誤訊息:「無法傳送電子郵件。可能無法正確設定您的網站傳送電子郵件的功能」。 我也無法使用 PHP 郵件傳送程式從我的 WordPress 網站傳送電子郵件。我該如何修正這些問題?
簡短描述
PHP 郵件功能會使用 sendmail 應用程式傳送電子郵件。PHP 郵件傳送程式和「忘記密碼」選項 (視 PHP 郵件傳送程式而異) 在以下情況下無作用:
- sendmail 應用程式未安裝在執行個體中。
- PHP 組態檔案中未正確設定 sendmail 二進位位置。
解決方案
1. 執行下列命令,確認已安裝 sendmail。如果您在執行此命令後收到找不到命令錯誤訊息,則不會安裝 sendmail。
sudo /usr/sbin/sendmail -q
2. 如果未安裝 sendmail,請執行下列命令來安裝:
Debian 和 Ubuntu 等作業系統發行版
sudo apt-get install sendmail
Amazon Linux 2 和 CentOS 等作業系統發行版
sudo yum install sendmail
3. 執行下列命令以設定 PHP 使用 sendmail。這個命令可修改 PHP 組態檔 /opt/bitnami/php/etc/php.ini。
sudo sed -i.$(date +%F_%R) '/sendmail_path/c\sendmail_path = "env -i /usr/sbin/sendmail -t -i"' /opt/bitnami/php/etc/php.ini
4. 執行以下命令來重新啟動 PHP-FPM:
sudo /opt/bitnami/ctlscript.sh restart php-fpm
5. 使用登入頁面上的密碼重設選項,確認現在運作正常。