Ошибка:
Невозможно отправить электронное письмо.
исходит от drupal_mail () и считается очень общим и может относиться ко многим различным вещам, таким как неправильная настройка вашего сайта Drupal, конфигурация PHP или служба SMTP вашей операционной системы.
Первое, что нужно сделать, это проверить почтовую систему или журналы Apache (например /var/log/apache2/error.log
) для получения более подробной информации об ошибке, поскольку вы можете просто пропуститьsendmail
ее самостоятельно (если вы не хотите использовать какую-либо внешнюю службу SMTP).
Если ваш Drupal размещен на вашем выделенном сервере, и это совершенно новая конфигурация, скорее всего, вам не хватает SMTP-сервера (поскольку он указывает localhost
по умолчанию), если только вы не планируете использовать внешний.
Если это ваш локальный компьютер для разработки, либо игнорируйте ошибку (так как она должна нормально работать на выделенном сервере), попробуйте установить MailCatcher , либо вам придется установить SMTP-сервер, как указано выше.
Вот несколько других предложений:
- при использовании модуля SMTP проверьте, правильно ли вы его настроили (см. файл README ), включая правильные настройки сервера ,
- проверить значение
mail_system
переменной, если оно переопределено - сбросить его до значения по умолчанию ( drush vdel mail_system
),
- проверьте свою почтовую конфигурацию PHP (
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!");'
и проверьте эту страницу, если электронное письмо было получено.