Tôi đang phát triển một ứng dụng gửi thư đơn giản với tài khoản Gmail làm host.It hoạt động như một sự quyến rũ nhưng vấn đề tăng lên khi chức năng send() ném một ngoại lệ. Tôi thấy rằng try catch statement không thể xử lý ngoại lệ. Nó không hoạt động ngay cả khi tôi sử dụng lớp ngoại lệ toàn cầu. câu hỏi này cũng được thảo luận ở đâu đó.Ngoại lệ Swiftmailer không bắt được trong bộ điều khiển Symfony2
ví dụ:
Catch swiftmailer exception in Symfony2 dev env controller
hoặc
https://groups.google.com/forum/#!topic/symfony2/SlEzg_PKwJw
nhưng họ đã không đạt được một câu trả lời làm việc.
My mã chức năng điều khiển là:
public function ajaxRegisterPublisherAction()
{
//some irrelevant logic
$returns= json_encode(array("username"=>$username,"responseCode"=>$responseCode));
try{
$message = \Swift_Message::newInstance()
->setSubject('hello world')
->setFrom('[email protected]')
->setTo('[email protected]')
->setBody(
$this->renderView('AcmeSinamelkBundle:Default:email.txt.twig',array('name'=>$username,"password"=>$password))
);
$this->container->get("mailer")->send($message);
}
catch (Exception $e)
{
}
return new \Symfony\Component\HttpFoundation\Response($returns,200,array('Content-Type'=>'application/json'));
}
Câu trả lời đó được gửi từ trên mã mà tôi nhận được trong bảng điều khiển firebug là:
{"username":"xzdvxvvcvxcv","responseCode":200}<!DOCTYPE html>
<html>
.
.
Swift_TransportException: Connection could not be established with host smtp.gmail.com [Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?]
.
.
</html>
và tôi bắt sợi lông của tôi, vì tôi không biết tại sao hạt nhân xử lý ngoại lệ trong tiếp tục đối tượng json của tôi?
khi tôi nhận xét dòng này:.
$this->container->get("mailer")->send($message);
ngoại trừ không xảy ra và tôi có một json hợp lệ trong phía khách hàng (có nghĩa là quá trình quan trọng-of- mặc dù) tôi đã thay đổi Exception
-\Exception
hoặc \Swift_TransportException
hoặc thậm chí Swift_TransportException
! nhưng không có kết quả tốt.
Bạn đã thử 'Swift_SwiftException' chưa? Trong tập tin nó nói "Base Exception class". – ferdynator
i có nghĩa là 'Ngoại lệ' bởi "Lớp cơ sở ngoại lệ" – CoderInNetwork
Tôi đã thử nghiệm với "Swift_SwiftException" và "\ Swift_SwiftException" bây giờ. Nó không hoạt động – CoderInNetwork