web-dev-qa-db-ja.com

drupalのsmtpを設定する方法

私はDrupal 6に取り組んでいます。私のphp.ini設定は次のとおりです:

SMTP = localhost    
smtp_port = 25    

使用中のモジュール内

function article_mail($key, &$message, $params) {    
  switch ($key) {    
    case 'invitation':    
      // note: data can be passed to this function in the $params array    
      $message['subject'] = t('EMAIL SUBJECT');    
      $message['body'] = t('MESSAGE BODY');    
      break;          
  }
}

そして私が使用するコード

$params = array(  'myVar' => 'data you would like in your message and/or subject',);    
drupal_mail('article', 'invitation', '[email protected]', language_default(), $params);

しかしそれは与える

警告:mail():「localhost」ポート25でメールサーバーに接続できませんでした。php.iniの「SMTP」と「smtp_port」設定を確認するか、C:\ Program Files(x86)\ Apache Software Foundationのini_set()を使用してください\ Apache2.2\htdocs\benthamdirect\includes\mail.incの193行目。電子メールを送信できません。問題が解決しない場合は、サイト管理者に連絡してください。

誰かが私が間違っているところを提案できますか?

4
Sanjay dev

SMTP経由でメールを送信するには、 SMTPモジュール を試してください。

このモジュールでは、DrupalでPHP mail()関数をバイパスし、電子メールをSMTPサーバーに直接送信できます。モジュールはSMTP認証をサポートし、サーバーに接続することもできますPHPでサポートされている場合はSSLを使用します。

6
BetaRide

エラーメッセージは、localhostでSMTPサーバーが実行されていないことを示しています。これを( ここに表示 として)テストし、必要に応じてpostfixのようなSMTPサーバーをインストールして構成します。ローカルのSMTPサーバーがDrupal外で正常にテストされたら、戻ってDrupal内からのメール送信をテストします。

localhostで独自のSMTPサーバーを実行することは、開発にとって意味のあることですが、本番サイトでは、主要なeにスパムサーバーとして表示されるのではなく、すべてのメールを正常に配信するように設定するのが今日の頭痛の種です。 -メールプロバイダー(GMail、Hotmailなど)。 [〜#〜] smtp [〜#〜] モジュールと同様のDrupalモジュールが登場する場所です。サードパーティのSMTPサーバーを使用できます。電子メールの量が少ないから中程度の場合は正常に動作します。

1
tanius