web-dev-qa-db-ja.com

電子メールを送信できません。問題が解決しない場合は、サイト管理者に連絡してください

Webフォームに入力して送信すると、次のようなページにリダイレクトされます。

送信いただきありがとうございます。

しかし、そこには赤い警告ボックスがあります:

電子メールを送信できません。問題が解決しない場合は、サイト管理者に連絡してください。

私はそのSMTPサーバーだと思いますが、それを修正する方法がわかりません。

8
saadlulu

使ってみてください:

SMTP認証サポート

PHPMailer

Gmailを使用してSTMPを設定する場合は、次の手順に従います。

  1. SMTPサーバー:smtp.gmail.com
  2. SMTPポート:465
  3. 暗号化されたプロトコルを使用:SSLを使用
  4. SMTP認証-ユーザー名とパスワード
  5. 他のオプションはデフォルトのままにします
12
Ivailo Milenkov

エラー:

電子メールを送信できません。

drupal_mail() からのものであり、非常に一般的であると考えられており、Drupalサイト、PHPオペレーティングシステムの構成またはSMTPサービス。

最初にすることは、単純に missing sendmail it-のように、エラーの詳細についてメールシステムまたはApacheログ(たとえば、/var/log/Apache2/error.log)を確認することです。セルフ(外部のSMTPサービスを使用する場合を除く)。

Drupalが専用サーバーでホストされていて、それがまったく新しい構成である場合、SMTPサーバーが欠落している可能性があります(デフォルトでlocalhostを指しているため))。外部のものを使うつもりです。

ローカル開発マシンの場合は、エラーを無視するか(専用サーバーで正常に機能するため)、 MailCatcher をインストールするか、上記のようにSMTPサーバーをインストールする必要があります。

他にいくつかの提案があります:

  • SMTPモジュール を使用している場合は、正しく設定されているかどうかを確認します( READMEファイル を参照)。正しい サーバー設定 を含め、正しく設定されています。
  • オーバーライドされている場合は、mail_system変数の値を確認します-デフォルト値(drush vdel mail_system)にリセットします。
  • PHPメール設定(php -i | grep -ie mail -e smtp)を確認し、sendmail_pathSMTP Hostおよびsmtp_portが正しいことを確認します。
  • telnetを使用して、SMTPサーバーへの接続を確認します。

    telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')
    

    ホストがダウンしていないか、DNSによって解決されているか、ファイアウォールによってブロックされていないかを再確認するには、

  • postfixを使用している場合は、 httpd_can_sendmail1setsebool httpd_can_sendmail 1)に設定されているかどうかを確認します。

最後に、次のPHPコマンドで電子メールをテストします。

php -r 'mail("[email protected]", "Mail test", "It works!");'

そして、これをチェックしてください ページ 電子メールが受信されたかどうか。

2
kenorb

DrupalウォッチドッグおよびPHPエラーログを確認してください。問題の原因を突き止めるのに役立つログエラーである可能性があります。また、システム管理者に確認してください使用しているSMTPサーバーの資格情報が有効かどうか(つまり、アドレス、ポート、暗号化、パスワードなど)を確認します。

1
amateur barista

Amazon SESサンドボックスの問題が原因でこの問題に巻き込まれました。 Amazon SESでは、サンドボックスモードで検証されていないドメインにメールを送信することはできません。プロダクションアクセスをリクエストする必要があり、問題は解決されます。

1
Mansoor Ahmed

送信される内容を確認するだけで十分な場合、maillogモジュールは非常に便利です。

1
BetaRide

承認された回答でこの問題は解決しましたが、この投稿の時点で、Gmailはすべての安全性の低いアプリケーションをブロックすることに注意してください。これは、drupal HTTPSで実行されていません。

  1. 次に、Gmailのマイアカウントで安全性の低いアプリケーションを許可する必要があります

    • アカウント>接続とセキュリティ>安全性の低いアプリケーションを許可する
    • または、 smtp module に接続しようとしたときにGmailから受信した警告メールのリンクをたどります
  2. または、drupalサイトのSSL証明書)を取得します。

0
The-Vinh VO

同じ共有ホスティング上でウェブマスター用のメールを作成せずにメールを送信することはできません。例のために。ドメインtest.comをお持ちの場合は、メールに[email protected]または[email protected]を作成し、このメールをウェブサイトのメインのメールとして設定する必要があります。このメールは、メールの[差出人]欄に表示されます。または、ドメイン用に独自のメールを作成し、このメールをサイトのプライマリとして設定します。共有ホスティングのセキュリティ設定に依存します。

0
Andrew Kozoriz

それが他の人を助ける場合:

このエラーを受け取っており、CupとBccの両方にdrupal_mailヘッダーで同じメールアドレスを設定していることが原因であることがわかりました。 (これは私がテストしていたためです)

0
Angus Walker

ステップ1:設定できます [〜#〜] smtp [〜#〜] ステップ2:コマンドラインでポート465を開く "-A INPUT -p tcp --dport 465 -j ACCEPT"

0
Quan Lee

Windowsでは次の設定が機能しました。

Gmailを使用してSTMPを設定する場合は、次の手順に従います。

SMTPサーバー:smtp.gmail.com

SMTPポート:465

暗号化されたプロトコルを使用:SSLを使用

SMTP認証-Gmailのユーザー名とパスワード

他のオプションはデフォルトのままにします

0
Nayana