2013-02-25 115 views
2

我遇到了一個非常奇怪的問題。我通過我的網站發送電子郵件給其他收件人。在symfony中,我對此非常陌生。這裏是我的代碼爲什麼smtp服務器不再發送電子郵件?

confg.yml

​​

這裏是我的表格功能

public function formemailAction(Request $request) 
{ 
// create a task and give it some dummy data for this example 
     $newtask = new Task(); 
     $newtask->setsubject('add subject here'); 
     $newtask->setdescription("write your feed back here"); 
     $form = $this->createFormBuilder($newtask) 
      ->add('subject', 'text') 
      ->add('description', 'textarea') 
      ->getForm(); 

return $this->render('ServiceRequestBundle:Desk:shownotification.html.twig', array('form' => $form->createView(), 
)); 
} 

在表格上點擊提交我打電話的功能中,我發送一封電子郵件

public function sendemailAction() 
    { 
     $messages = \Swift_Message::newInstance() 
      ->setSubject('again Notification Email') 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]') 
      ->setBody("we know that you dont know whats happening") 
     ; 
     $this->get('mailer')->send($messages); 

     return $this->render('ServiceRequestBundle:Desk:shownotification.html.twig'); 
    } 

現在問題是這是它工作正常。但發送4到5封電子郵件後,它停止工作,我的電子郵件不再發送。我的第一個猜測是因爲我一次又一次地調試我的應用程序,可能是因爲一次又一次發送同一封電子郵件而發生。我遵循這tutorial如果多數民衆贊成如此那麼我怎麼能解決這個問題,如果有任何其他問題,請幫助我。

我檢查我的PHP錯誤日誌,我發現這個

#0 [internal function]: Symfony\Component\HttpKernel\Debug\ErrorHandler->handle(2, 'SessionHandler:...', 'C:\xampp\htdocs...', 558, Array) 
#1 C:\xampp\htdocs\jts\app\cache\dev\classes.php(558): SessionHandler->write('tatrpm617uplo16...', '_sf2_attributes...') 
#2 [internal function]: Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy->write('tatrpm617uplo16...', '_sf2_attributes...') 
#3 [internal function]: session_write_close() 
#4 {main} 
    thrown in C:\xampp\htdocs\jts\app\cache\dev\classes.php on line 
+0

存在之前'Swift_Message'你'sendemailAction()'線1額外的反斜線。錯字? – Raptor 2013-02-25 06:34:11

+0

我試過,但仍然不工作我遵循這[教程](http://symfony.com/doc/current/cookbook/email/email.html) – numerah 2013-02-25 06:42:11

+1

先嚐試簡單的PHP代碼。嘗試'mail()'函數來查看SMTP服務器是否正常工作。 – Raptor 2013-02-25 06:49:00

回答

0

在SMTP傳輸的情況下,請檢查你的php日誌,有可能是在Gmail中 身份驗證的問題。您是否試過tls而不是ssl

你可以嘗試通過自己的SMTP服務器傳遞郵件:

首先,你應該檢查是否有您的服務器上運行的SMTP服務器:

netstat -tulpen | grep :25 

這應返回類似這樣的東西:

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 0 8485 1213/master 

如果沒有,您可以嘗試啓動服務器。在後綴的情況是這樣的:

/etc/init.d/postfix start 

如果您仍然沒有得到郵件,檢查

/var/log/maillog 

這可能是郵件無法送達,你應該在maillog中

看到更多 的相關信息
+0

我正在使用windows。你可以指定窗口的路徑嗎? – numerah 2013-02-25 07:45:09

+0

在Windows上安裝郵件服務器要麻煩得多。你應該試着讓smtp gmail工作。試用tls而不是ssl。 – 2013-02-25 08:02:20

相關問題