0
modMail 클래스를 사용하여 맞춤 이메일을 보내고 있습니다. 나는 MODX 사이트의 가이드 라인을 따라 나는 조각에 배치 다음 코드를 사용했습니다 :MODX에서 이메일을 보내지 않음
코드 조각은 사용자 정의 덩어리뿐만 아니라 전자 메일 주소에서 메시지를 포함하도록 수정되었습니다올바른 것들로 대체되었습니다
$message = $modx->getChunk('myEmailTemplate');
$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();
. 스 니펫은 이메일을 한 번 보내고 결코 다시는 보내지 않습니다. 나는 이메일을 보내는 것을 막는 그러한 행동을 일으키는 원인이 무엇인지 전혀 모른다.
나는 리셋 기능 $modx->mail->reset();
을 사용하여 이메일 입력란을 재설정하고 이메일을 다시 전송할 수 있음을 읽었지만 아직 문제가 발생했다고 생각합니다.
코드 조각
는 페이지 캐시되지 않은라고[[!email]]
사람이 한 번 일에도 이메일이 전송되지 않는 이유는 생각을 가지고 있습니까?
좋은 점은 있지만 오류 로그를 확인했으며 modmail 클래스에 대한 보고서가 없습니다. 그러나 나는 스 니펫이 전자 메일을 보내는 리소스를 캐싱하지 않도록함으로써이 문제를 해결할 수있었습니다. 이는 스 니펫이 캐시 된 후에 이메일 필드를 재설정하지 않는다는 사실입니다. 감사! –
아, 그 비열한 캐시, 나는 항상 먼저 체크하는 것을 잊어 버린다. 또한 - 사이트가 생방송 될 때의 로깅; 오류 로그를 지우고 로그 파일을 공개적으로 사용할 수 있으므로 로깅을 0으로 설정하십시오. [다만 FYI] –