使用 symfony2 发送电子邮件

sending email with symfony2

我正在尝试创建一个功能,使每个用户都有机会为另一个用户发送电子邮件。这是 Swiftmailer 的基本控制器:

public function contactAction($id)
{
$enquiry = new Enquiry();
$form = $this->createForm(new EnquiryType(), $enquiry);
$from=$this->container->get('security.context')->getToken()->getUser()->getemail();
$em=$this->getDoctrine()->getManager();
$user=$em->getRepository('PfeUserBundle:User')->findBy(array('id'=>$id));       
$request = $this->getRequest();
if ($request->getMethod() == 'POST') {
 $form->bind($request);
    if ($form->isValid()) {
          $message = \Swift_Message::newInstance()
            ->setSubject('Intello')
            ->setFrom($from)
            ->setTo($user->getemail())
            ->setBody($this->renderView('PfeUserBundle:Contact:contactEmail.txt.twig', array('enquiry' => $enquiry)));
        $this->get('mailer')->send($message);
        $this->get('session')->getFlashBag()->add('blogger-notice','Ton message a été envoyé avec succès');
            // Redirect - This is important to prevent users re-posting
            // the form if they refresh the page
            return $this->redirect($this->generateUrl('pfe_intello_contact_mail'));
        }
    }

我有这个错误 错误:调用非对象上的成员函数 getemail()

$user 不是一个对象,因为您得到的是一个数组。

变化:
$user=$em->getRepository('PfeUserBundle:User')->findBy(array('id'=>$id));

进入:
$user=$em->getRepository('PfeUserBundle:User')->findOneBy(array('id'=>$id));