私は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行目。電子メールを送信できません。問題が解決しない場合は、サイト管理者に連絡してください。
誰かが私が間違っているところを提案できますか?
SMTP経由でメールを送信するには、 SMTPモジュール を試してください。
このモジュールでは、DrupalでPHP mail()関数をバイパスし、電子メールをSMTPサーバーに直接送信できます。モジュールはSMTP認証をサポートし、サーバーに接続することもできますPHPでサポートされている場合はSSLを使用します。
エラーメッセージは、localhost
でSMTPサーバーが実行されていないことを示しています。これを( ここに表示 として)テストし、必要に応じてpostfix
のようなSMTPサーバーをインストールして構成します。ローカルのSMTPサーバーがDrupal外で正常にテストされたら、戻ってDrupal内からのメール送信をテストします。
localhost
で独自のSMTPサーバーを実行することは、開発にとって意味のあることですが、本番サイトでは、主要なeにスパムサーバーとして表示されるのではなく、すべてのメールを正常に配信するように設定するのが今日の頭痛の種です。 -メールプロバイダー(GMail、Hotmailなど)。 [〜#〜] smtp [〜#〜] モジュールと同様のDrupalモジュールが登場する場所です。サードパーティのSMTPサーバーを使用できます。電子メールの量が少ないから中程度の場合は正常に動作します。