Я хочу использовать SwiftMailer для отправки и отправки электронной почты, когда завершу вставку в базу данных в моем контроллере действий, но не работает ..
Я использую swiftmailer для FOSUserBundle, и он работает очень хорошо ..
Это config.yml:
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);
Как я могу сделать??
Вы в основном пробовали в своем контроллере:
/.../
$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);
/.../
Это потому, что у вас есть конфигурация катушки в вашем config.yml
Попробуйте прокомментировать эти строки:
spool:
type: file
path: "%kernel.cache_dir%/swiftmailer/spool"
В спуле будет храниться вся ваша электронная почта. app/cache/dev/swiftmailer/spool
папку и дождитесь команды, чтобы очистить их.