0

私のサーバーでは、MODx (バージョン 2.2) を使用したメールの送信に失敗します。これはおそらく SMTP で動作しますが、以下のようなスクリプトが動作するため、原則として SMTP がなくても動作するはずです。

脚本:

<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

この不正行為の理由を見つけたり、この問題を解決したりできますか?

編集

以下の質問に答えるには:

サイトのユーザーに派手なメールを送信しようとはしません。メールでログインとパスワードをリセットするなど、非常に基本的なことを試しています。

デバッグ用にクイックメールを試しました。出力は次のとおりです。

System Settings (used if property is missing):
emailsender System Setting: xxx@xxx.xx
site_name System Setting: MODX Revolution
Properties (from parameters, property set, or snippet default properties:
Tpl chunk name:
subject:
to:
fromName:
replyTo:
emailSender:
allowHtml: 1
message:
Final Values (actually used when sending email):
subject: Default Subject
to: xxx@xxx.xx
fromName: xxx@xxx.xx
replyTo: xxx@xxx.xx
emailSender: xxx@xxx.xx
allowHtml: 1
Message Body: Default Message
Send Failed
Mailer error info: Could not instantiate mail function.
Server Debug Information:

私はすでにコアインストールでMOD-Mailを使用していると思います。そうじゃない?

私のメールサーバーは qmail を使用しています。上記のスクリプトを$from値なしで試してみたところ、うまくいきました。それでも、MODx はメールを送信できません。

4

2 に答える 2

0

MODx で使用されるデフォルト設定がサーバーのPHP mail()設定と一致することを確認する必要があります。

MODx が使用する PHP メール クラスはcore/model/modx/mail/phpmailer/class.phpmailer.php にあります。それらが一致しない場合は、クラスを変更することはお勧めしません。代わりに、SMTP を使用します。SMTP は、MODx Manager の[システム] > [システム設定]で有効化および構成できます。

Info: デフォルトでは、MODx は/usr/sbin/sendmail -oi -fを使用して電子メールを送信します。これはかなり一般的ですが、すべての Web サーバーで機能するわけではありません。

于 2012-07-15T18:50:03.650 に答える
-1

-関数を使用しているときはmail、ネイティブ (標準) PHP メールクラスを使用しています。

Modx revo には独自のものがありますが、クラスをまったく使用していません。これはデフォルトでインストールされているため、動作するはずです。クラスの使用法については、この wiki 記事を参照してください: http://rtfm.modx.com/display/revolution20/modMail

ただし、電子メールの送信が機能しない場合、これは Modx とは何の関係もありません。私が見る限り、あなたのコードは有効です。これはむしろサーバー/PHP セットアップに関する質問です。

于 2012-07-16T08:36:22.203 に答える