2017-01-05 65 views
0

我試圖從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(); 
+0

只是爲了清除列表中的內容,如果將代碼片段放入資源中,這是否正常工作? – MeltingDog

回答

1

有一個額外鏌鋣可稱爲QuickEmail,可能檢查內部郵件功能。