2015-08-25 6 views
1

Я приношу сайт (на основе Laravel) для события, которое скоро появится, обновится. Частично это улучшало функцию рассылки, для которой я решил использовать SMTP Mandrill с SwiftMailer. Все работало отлично, работая на местном уровне. Однако, поскольку мы подталкивали все к живой (хорошо, тестирующей, но на том же сервере, что и в режиме реального времени), то почтовые отправления больше не отправляются.Swiftmailer распадается после этапа

Все, кажется, сломается после того, как я сделал команду send() в PHP. Даже простая команда печати ничего не делает. Также не сообщается об ошибках, за исключением случаев, когда я смотрю в свою консоль, где запрос возвращает 500 Internal Server Error без каких-либо других ошибок.

На данный момент эти функций я использую только для тестирования, который работает и посылает отлично на местных, а затем гравюры, а просто дают белый экран на плацдарме ...

Route::any('test', function() 
{ 
    testMail(); 
    //this print works perfectly locally but shows nothing on staging 
    print ('boe'); 
}); 

function testMail(){ 
$to   = array('[email protected]' => 'My Name'); 
$subject = 'test mail'; 
$text  = "test mail hier"; 
$htmlTekst = "<b>boe</b><i>spaghetti</i>"; 
$view = View::make('mailTemplate', 
    ['naam' => 'Jeroen Cuvelier', 
    'tekst' => $htmlTekst, 
    'username' => 'my email address', 
    'password' => 99999, 
    'siteUrl' => rootUrl(), 
    'header2' => '']); 
$html = $view->render(); 
sendEmail($text, $html, $to, $subject, "", "");} 



function sendEmail($text, $html, $to, $subject, $attachment, $attachmentName) 
{ 
    //$subject = 'Subject!'; 

    $from  = array('[email protected]' =>'Company event'); 

    /* 
    SMTP-settings 
    */ 
    $transport = Swift_SmtpTransport::newInstance('smtp.mandrillapp.com', 25); 
    $transport->setUsername('MY_MANDRILL_USERNAME'); 
    $transport->setPassword('MY_MANDRILL_PASSWORD'); 
    $swift  = Swift_Mailer::newInstance($transport); 

    $message = new Swift_Message($subject); 
    $message->setFrom($from); 
    $message->setBody($html, 'text/html'); 
    $message->setTo($to); 
    $message->addPart($text, 'text/plain'); 

    if ($attachment != "") 
    { 
     $toAttach = Swift_Attachment::fromPath($attachment); 
     if ($attachmentName!="") 
     { 
      $toAttach->setFilename($attachmentName); 
     } 
     $message->attach($toAttach); 
    } 

    //neither of these messages print on staging 
    if ($recipients = $swift->send($message, $failures)) 
    { 
    echo 'Message successfully sent!'; 
    } else { 
    echo "There was an error:\n"; 
    print_r($failures); 
    } 
} 

ответ

0

Оказывается, проблема была не в PHP и не в том, что я сделал. Сервер просто не разрешил вызовы SMTP. Призыв к хостингу компании, который исправил мои проблемы.

Смежные вопросы