PHPmailまたはMODxのModMailクラスを使用してMODxテンプレートからメールを送信しようとしています。言うまでもなく、どちらの方法も働いていません。MODxテンプレートからメールを送信する
私はMODxスニペットにコードを書き、そのスニペットをテンプレートに含めます。 PHPmailを使用してフォームアクションを省略した場合(フォームが現在のURLに送信されるように)、ページはリフレッシュされますが、メールは送信されません。
ModMailを使用しようとすると、何も起こりません。しかし、私はこのケースでメール送信コードを実際にどのように呼び出すべきかについてはあまりよく分からないので、コードは何もしないで座っているだけです。
<?php
$to = $_POST['email'];
$name = $_POST['name'];
$query = $_POST['message'];
$subject = "Query from " . $name;
$message = "You're received a query from " . $name . ", their email address is " . $to . ".\r\nThey said:\r\n" . $query;
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
echo $to;
echo $name;
echo $query;
echo $subject;
echo $message;
echo $headers;
mail($to, $subject, $message, $headers);
?>
そして、これがModMailである:
これは私のPHPmailの試みである
<?php
$message = $_POST['message'];
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'[email protected]');
$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','[email protected]');
$modx->mail->address('reply-to','[email protected]');
$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();
リストから除外するだけで、スニペットをリソースに配置するとこれが機能しますか? – MeltingDog