Answers:
尝试使用:
如果您使用Gmail设置STMP,请按照以下步骤操作:
错误:
无法发送电子邮件。
是来自drupal_mail(),它被认为是非常通用的,可能与许多不同的事情有关,例如您的Drupal网站的配置错误,您的操作系统的PHP配置或SMTP服务。
要做的第一件事是检查邮件系统或Apache日志(例如/var/log/apache2/error.log
),以获取有关该错误的更多详细信息,因为您可能会自行丢失sendmail
该错误(除非您想使用任何外部SMTP服务)。
如果您的Drupal托管在专用服务器上并且是全新的配置,则localhost
除非您打算使用外部服务器,否则很可能您会丢失SMTP服务器(因为默认情况下它指向该服务器)。
如果是您的本地开发计算机,请忽略该错误(因为它应该在专用服务器上可以正常工作),请尝试安装MailCatcher,或者您必须如上所述安装SMTP服务器。
以下是一些其他建议:
mail_system
变量的值(如果已覆盖)-将其重置为默认值(drush vdel mail_system
),php -i | grep -ie mail -e smtp
),并确认sendmail_path
,SMTP
主机和smtp_port
正确,通过使用检查与SMTP服务器的连接telnet
,例如
telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')
再次检查主机是否已关闭,是否由DNS解析或是否未被防火墙阻止,
如果使用postfix
,请检查是否httpd_can_sendmail
设置为1
(setsebool httpd_can_sendmail 1
)。
最后,通过以下PHP命令测试您的电子邮件:
php -r 'mail("drupal@mailinator.com", "Mail test", "It works!");'
并检查此页面是否已收到电子邮件。
由于Amazon SES沙箱问题,我陷入了这个问题。Amazon SES不允许您以沙盒模式将电子邮件发送到未经验证的域。您将不得不请求生产访问权限,问题将得到解决。
在相同的共享主机上,如果不为网站管理员创建电子邮件,则无法发送电子邮件。对于前。如果您拥有域test.com,则必须在Cpanel中创建电子邮件webmaster@test.com或admin@test.com,并将此电子邮件设置为网站的主要电子邮件。该电子邮件将在您邮件的“发件人”字段中。或为域创建自己的邮件,并将此邮件设置为站点的主要邮件。这取决于共享主机上的安全设置。