当使用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')); }