回答:
使ってみてください:
Gmailを使用してSTMPを設定する場合は、次の手順に従います。
エラー:
電子メールを送信できません。
はdrupal_mail()からのものであり、非常に一般的であると考えられており、Drupalサイトの設定ミス、PHP設定、オペレーティングシステムのSMTPサービスなど、さまざまなことに関連している可能性があります。
最初に行うべきことは、/var/log/apache2/error.log
エラーの詳細についてメールシステムまたはApacheのログ(例:)を確認することです。外部のSMTPサービスを使用したくない場合を除いて、エラー自体が欠落しsendmail
ている可能性があります。
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!");'
承認された回答でこの問題は解決しましたが、この投稿の時点では、DrupalサイトがHTTPSで実行されていないため、Gmailは安全性の低いアプリケーションをすべてブロックしています。
同じ共有ホスティング上でウェブマスター用のメールを作成しないと、メールを送信できません。例のために。ドメインtest.comがある場合は、Cpanelにメールwebmaster@test.comまたはadmin@test.comを作成し、このメールをウェブサイトのメインのメールとして設定する必要があります。このメールは、メールの[差出人]欄に表示されます。または、ドメイン用に独自のメールを作成し、このメールをサイトのプライマリとして設定します。共有ホスティングのセキュリティ設定に依存します。