Bạn có thể tạo một sự kiện nghe kernel.request
, bơm swiftmailer.transport.real
và thiết lập thông tin SMPT ví dụ
Listener lớp
namespace Namespace\Of\YourListener;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
class YourListener implements EventSubscriberInterface
{
/**
* @var Swift_Transport_EsmtpTransport
*/
private $transport;
/**
* @var Doctrine\ORM\EntityManager
*/
private $em;
public function __construct($transport, $em)
{
$this->transport = $transport;
$this->em = $em;
}
public function onKernelRequest(GetResponseEvent $event)
{
//fetch info from db
$this->transport->setHost("host");
$this->transport->setPort("port");
$this->transport->setUserName("username");
$this->transport->setPassword("pass");
}
static public function getSubscribedEvents()
{
return array(
KernelEvents::REQUEST => array('onKernelRequest', 0)
);
}
}
Dịch vụ decleration,
your_listener:
class: FQCN\Of\YourListener
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
arguments: [@swiftmailer.transport.real, @doctrine.orm.entity_manager]
Nguồn
2012-05-23 17:25:43
Tôi chỉ tò mò, làm thế nào để bạn lưu trữ mật khẩu? – Gigala
@Gigala Tôi thấy những gì bạn đã làm ở đó. Có, câu hỏi này phải được trả lời! – aalaap
@aalaap haha nhận xét cũ của tôi: P – Gigala