2015-11-18 3 views
-1

Я хочу использовать SwiftMailer для отправки и отправки по электронной почте при завершении вставки в базу данных в моем контроллере действия, но не работает. Я использую swiftmailer для FOSUserBundle, и это очень хорошо работает. Это config.yml:Symfony2 SwiftMailer не работает

swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    port:     false 
    encryption:   ~ 
    auth_mode:   ~ 
    spool: 
     type:     file 
     path:     "%kernel.cache_dir%/swiftmailer/spool" 
    sender_address:  ~ 
    antiflood: 
    threshold:   99 
    sleep:    0 
    delivery_address:  ~ 
    disable_delivery:  ~ 
    logging:    "%kernel.debug%" 

# Routing 
    be_simple_i18n_routing: ~ 

# FOSUserBundle Configuration 
fos_user: 
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' 
    firewall_name: main 
    user_class: Dt\EcBundle\Entity\User 
profile: 
    form: 
     type: dt_ec_profile 
registration: 
    confirmation: 
     enabled: true 
    form: 
     type: dt_ec_registration 
from_email: 
    address:  [email protected] 
    sender_name: ------ 
service: 
    mailer: fos_user.mailer.twig_swift 
resetting: 
    email: 
     template: DtEcBundle:User:resetting.email.html.twig 

Это код контроллера:

$container->get('swiftmailer.mailer'); 

$mailer = \Swift_Mailer::newInstance(); 
$message = \Swift_Message::newInstance() 
    ->setSubject('Hello Email') 
     ->setFrom('[email protected]') 
     ->setTo('[email protected]') 
     ->setBody('You should see me from the profiler!') 
    ; 

/* // Pass a variable name to the send() method 
if (!$mailer->send($message, $failures)) 
{ 
    echo "Failures:"; 
    var_dump($failures); 
} */ 

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

Как я могу сделать ??

ответ

1

ли вы в основном попробовать в контроллере:

/.../ 

$mailer = $this->get('mailer'); 

$message = \Swift_Message::newInstance() 
    ->setSubject('Hello Email') 
    ->setFrom('[email protected]') 
    ->setTo('[email protected]') 
    ->setBody('You should see me from the profiler!') 
; 

$mailer->send($message); 

/.../ 
+0

Я попытался таким образом, но теперь ничего не пробовал, но не работал. @scoolnico –

+0

У вас есть специальное сообщение об ошибке или почта не отправляется? – scoolnico

+0

Я объясняю, у меня есть чат сообщений в моем веб-проекте, и когда я отправляю сообщение, диспетчер отправляет в почтовый адрес сообщения по электронной почте. Но я не получаю никаких ошибок ... Почта не отправляется @scoolnico –

0

Это потому, что вы имеете конфигурацию катушки в вашем config.yml

Try комментировать эти строки:

spool: 
    type:     file 
    path:     "%kernel.cache_dir%/swiftmailer/spool" 

Катушка будет разместите всю свою электронную почту в своей папке app/cache/dev/swiftmailer/spool и дождитесь команды, чтобы сбросить их.

+0

Ничего .. на этом пути у меня нет файлов. Как я могу получить сообщения об ошибках для понимания предложения проблемы? @scoolnico –

+0

Исчерпывая журналы Symfony 'tail -f app/logs/dev', если вы используете Linux или что-то подобное на других. Сделайте то же самое на себе nginx/apache 'error.log' –

+0

я вижу в error.log и в mail.log, но ничего .. –

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