当使用Gmail的SMTP,你可以设置一个不同的“从”地址?

我正在使用Swift Mailer 406发送电子邮件。 我连接到我的smtp.gmail.com帐户,然后我做到:

->setFrom(array($from => $fromname)) 

但发送的电子邮件得到了原始的Gmail帐户的电子邮件。

我可以改变它吗?

Gmail不允许你使用随机发件人地址。 您必须添加并validation您要在Gmail设置中使用的地址:

 Settings -> Accounts -> Send mail as -> Add another email address you own 
 $email=$entity->getEmail(); ->setFrom(array('your fix adress@gmail.com' => $email)) 

在你的Parameters.yml中你应该做这个configuration:

 parameters: database_host: 127.0.0.1 database_port: null database_name: your db name database_user: root database_password: null mailer_transport: smtp mailer_host: smtp.gmail.com mailer_user: your fix adress@gmail.com mailer_password: your password of your fix adress mailer_port: 465 mailer_encryption: ssl auth_mode: login secret: 3556f3fb752a82ce0ee9c419ef793b7a707f324a 

在你的联系人控制器中,你应该添加这个来修复setfrom()函数:

 if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $subject = $entity->getSubject(); $name=$entity->getName(); $email=$entity->getEmail(); $body=$entity->getBody(); $message = \Swift_Message::newInstance('here') ->setSubject("Shoppify email from ".$name." Subject ".$subject) ->setFrom(array('your fix adress@gmail.com' => $email)) ->setTo('your adress destionation@example.com') ->setBody($body); $this->get('mailer')->send($message); $em->persist($entity); $em->flush(); return $this->redirect($this->generateUrl('email_sended')); }