使用Gmail作为SMTP服务器时,是否可以设置不同的“发件人”地址?

6

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

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

但是发送的电子邮件仍使用原始Gmail账户的电子邮件地址。

我可以更改它吗?

3个回答

22

谷歌邮箱不允许您使用随机的发件地址。您必须在谷歌邮箱的设置中添加并验证要使用的发件地址:

Settings -> Accounts -> Send mail as -> Add another email address you own

谢谢。你知道我是否可以通过Gmail发送许多邮件而不会出问题吗?(它们全部是从我的网站发送给已注册用户的合法邮件) - dynamic

-1
$email=$entity->getEmail();
->setFrom(array('your fix adress@gmail.com' => $email))

请在回答中添加解释,因为代码转储通常很难理解。 - David Medenjak

-2
在你的 Parameters.yml 文件中,你应该进行以下配置:
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

在您的联系人控制器中,您应该添加以下内容以修复swiftmailer的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'));
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接