有谁知道如何扩展 FOSUserBundle 中的 Mailer 类?
我正在实施一个非常基本的父母电子邮件检查(所有验证都在表单上完成以强制输入父母的电子邮件),如果在用户实体上填充了父电子邮件字段,那么它应该将电子邮件发送到该地址而不是用户的电子邮件。
到目前为止,我已经尝试了以下方法:
namespace SSERugby\UserBundle\Mailer;
use FOS\UserBundle\Mailer\Mailer as BaseMailer;
use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface;
use Symfony\Component\Routing\RouterInterface;
class Mailer extends BaseMailer
{
public function sendConfirmationEmailMessage(UserInterface $user)
{
$email = $user->getEmail();
$parentEmail = $user->getParentEmail();
if(isset($parentEmail)&&(trim($parentEmail)!='')){
$email = $parentEmail;
}
$template = $this->parameters['confirmation.template'];
$url = $this->router->generate('fos_user_registration_confirm', array('token' => $user->getConfirmationToken()), true);
$rendered = $this->templating->render($template, array(
'user' => $user,
'confirmationUrl' => $url
));
$this->sendEmailMessage($rendered, $this->parameters['from_email']['confirmation'], $email);
}
}
它似乎只是忽略了覆盖的类并使用默认值,我在测试之前已经清除了缓存。
谢谢