PHPmail 또는 MODx의 ModMail 클래스를 사용하여 MODx 템플릿에서 전자 메일을 보내려고합니다. 말할 필요도없이 두 가지 방법 모두 작동하지 않습니다.MODx 템플릿에서 메일 보내기
코드를 MODx 스 니펫에 작성하고 해당 스 니펫을 내 템플릿에 포함합니다. PHPmail을 사용할 때 양식 작업이 생략되어 (양식이 현재 URL로 제출되도록) 페이지는 새로 고침되지만 메일은 전송되지 않습니다.
ModMail을 사용하려고하면 아무 일도 일어나지 않습니다. 그러나이 경우 메일 코드를 실제로 호출하는 방법을 잘 모르므로 코드는 아무 것도하지 않고 그냥 앉아 있습니다.
이 내 PHPmail 시도입니다 :
<?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 함께 :
<?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