modMail クラスを使用してカスタム メールを送信しています。MODX サイトのガイドラインに従い、スニペットに配置した次のコードを使用しました。
$message = $modx->getChunk('myEmailTemplate');
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'me@example.org');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Johnny Tester');
$modx->mail->set(modMail::MAIL_SUBJECT,'Check out my new email template!');
$modx->mail->address('to','user@example.com');
$modx->mail->address('reply-to','me@xexample.org');
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();
カスタム チャンクからのメッセージを含むようにスニペットが変更され、電子メール アドレスが正しいものに置き換えられました。スニペットは電子メールを 1 回送信し、二度と送信しませんでした。メールの送信を妨げるような動作の原因がわかりません。
リセット機能を使用するとメール フィールドがリセットされ、メールを再送信できるようになることを読み$modx->mail->reset();
ましたが、ここで問題が発生していると感じています。
スニペットはページ上で uncached と呼ばれます[[!email]]
一度は機能したにもかかわらず、メールが送信されない理由を知っている人はいますか?