Laravel-Gmail SMTP,不通过地址发送邮件


Laravel - Gmail SMTP, not sending mail through - from address

我将我的网站配置为通过gmail的SMTP发送邮件。我的网站运行在laravel-4框架中。以下是配置>>mail.php 中的代码

'driver' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => array('address' => null, 'name' => null),
'encryption' => 'tls',
'username' => 'xxx@somedomain.com',
'password' => 'xxxxxx',
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false

这是一个关于我如何发送邮件的代码示例,

$from = 'sender@somedomain.com';
$mail = Mail::send('mailer_template', ['any_data' => $data], function ($msg) use ($from, $from_name, $to_email, $subject, $attach) {
    $msg->from($from,$from_name);
    $msg->to($to_email);
    $msg->subject($subject);
    $msg->attach($attach);
  });

当我发送邮件时,邮件正在发送。但它是从xxx@somedomain.com"。我希望它通过电子邮件从可变的$发送。发件人地址将在不同的地方更改。我不知道如何配置。如有任何帮助,我们将不胜感激。

您访问过这个URL吗?如果没有,请转到那里并按照说明进行操作,然后尝试使用生产服务器上的应用程序再次登录。

https://accounts.google.com/displayunlockcaptcha

试着用这种方法解决它。记住
这里的密码不是强制性的
加密字段保持为空
使用smtp中继.gmail.com.

return array(
     'driver' => 'smtp',
     'host' => 'smtp-relay.gmail.com',
     'port' => 25, //25, 465 or 587
     'from' => array('address' => 'xxx@gmail.com', 'name' => 'myname'),
     'encryption' => '',
     'username' => 'xxx@gmail.com',
     'password' => '',
     'sendmail' => '/usr/sbin/sendmail -bs',
     'pretend' => false,
  );

这似乎不可行,因为SMTP(gmail)只使用来自电子邮件的一个(其详细信息已添加到config/env中)。在您的情况下,无论何时发送邮件,邮件都是从-'发送的xxx@somedomain.com"。