我将我的网站配置为通过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"。