在使用 Amazon Lightsail WordPress 网站登录页面上的 Lost Password(忘记密码)选项时,我收到错误消息:The email could not be sent.Your site may not be correctly configured to send email(无法发送电子邮件。您网站的发送电子邮件配置可能不正确)。 我也无法使用 PHP mailer 从我的 WordPress 网站发送电子邮件。如何解决这些问题?
简短描述
PHP 邮件函数使用 sendmail 应用程序发送电子邮件。PHP mailer 和依赖 PHP mailer 的 Lost Password(忘记密码)选项不支持以下情景:
- 实例中未安装 sendmail 应用程序。
- 在 PHP 配置文件中没有正确配置 sendmail 二进制文件位置。
解决方法
1. 运行以下命令验证是否已安装 sendmail。如果运行此命令后收到 command not found(未找到命令)错误,则说明没有安装 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. 使用登录页面上的密码重置选项来验证它现在是否可以正常工作。