我試圖從MODx模板發送電子郵件,無論是使用PHPmail還是使用MODx的ModMail類。不用說,這兩種方式都不行。從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