2017-01-30 2 views
0

Я хочу отправлять электронные письма с помощью symfony, но swiftmailer не отправляет никаких писем. Я даже не получаю сообщения об ошибках или что-то еще. Вот мой код:swiftmailer не отправляет электронные письма

$mail = \Swift_Message::newInstance() 
       ->setSubject('Subject') 
       ->setTo('[email protected]') #this is replaced by real email of course 
       ->setFrom('[email protected]') 
       ->setBody('Testbody'); 

     $this->get('mailer')->send($mail); 

Вот конфиг:

swiftmailer: 
default_mailer: mailer 
mailers: 
    mailer: 
     transport: "%mailer_transport%" 
     host:  "%mailer_host%" 
     username: "%mailer_user%" 
     password: "%mailer_password%" 
     #spool:  { type: memory } 

Я даже попытался установить узел по адресу, который не существует, но я не получаю никакой ошибки из Swiftmailer или Symfony.

Я пытался найти файлы для Lib, но нет Swift_Message или newInstance где-нибудь в фреймворка файлы, странно

+1

Каковы параметры, которые вы используете в конфигурации SM? Также у вас есть работающий почтовый сервер? – stevenll

+1

Вы хотите иметь учетные данные моего почтового сервера? :) его внешний почтовый сервер. Например, когда я меняю сервер-хост на нерабочий адрес, я даже не получаю никакой ошибки от swiftmailer – Asara

+0

, если ваша внешняя почтовая программа работает нормально, а код, который вы показываете здесь, выглядит нормально. Вы уверены, что нет ничего другого, что мешает вашему коду отправлять сообщение? – stevenll

ответ

0

использовать этот код

$message = \Swift_Message::newInstance() 
      ->setSubject('Validation de votre commande') 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]') 
      ->setBody('Testbody'); 
      ->setCharset('utf-8') 
      ->setContentType('text/html') 
      ->setBody('test'); 

    $this->get('mailer')->send($message); 

в приложение/Config/parametres.yml :

mailer_transport: gmail 
mailer_host: smtp.gmail.com 
mailer_user: your mail 
mailer_password: your password mail 

в приложение/Config/config.yml:

# Swiftmailer Configuration 
swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    spool:  { type: memory } 
+0

Почему вы предполагаете, что у меня есть учетная запись gmail? – Asara

+0

Лучшим решением является использование учетной записи gmail –

+0

, что комментарий должен быть минус голосование. Это очень далеко от решения – Asara

0

Я видел кого-то с той же проблемой. Для него проблема была в очереди очереди. Она решается либо отключение катушки в явном виде:

spool: 
     enabled:false 

или промывка очереди в коде:

$this->get('mailer')->send($mail); 
$spool = $this->get('mailer')->getTransport()->getSpool(); 
$spool->flushQueue($this->get('mailer')->getTransport()); 

Надеется, что это работает!

+0

, как вы можете видеть в моем вопросе, sppol не активирован, я даже проверил его, но не нашел там писем – Asara