我的代码是这样的:
public function sendMail(array $data)
{
$data = explode('#', $data['id']);
$email_from = Auth::user()->email;
$email_to = $data[4];
$subject = 'Send Email Test';
$data_user = ['user_name' => $data[1], 'full_name' => $data[2].' '.$data[3] ];
$sent = Mail::send('backend.auth.success_approved', $data_user, function ($mail) use ($email_to, $email_from, $subject)
{
$mail->from($email_from)
->to($email_to)
->subject($subject);
});
}
我在mail.php中的配置:
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => '[email protected]', 'name' => 'myname'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME', '[email protected]'),
'password' => env('MAIL_PASSWORD', 'mypassword'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
它已成功发送电子邮件。但是它不是动态发件人。它是mail.php的电子邮件发件人
如何保持其动态发件人?
谢谢
如果您使用的是Gmail服务器,则无法从动态发件人发送邮件。为了安全起见,Gmail会将您的发件人地址转换为您的默认地址。为防止向许多电子邮件服务器(例如Gmail,Hotmail等)发送垃圾邮件,请勿这样做。例如,您可以从Barak Obama的电子邮件地址发送电子邮件。
如果从您的动态地址发送电子邮件非常重要,则可以使用原始php函数 mail()
$header = 'From: [FEEDBACK] <'.$email_from.'>'."\r\n".'Reply-To:'.$email_from."\r\n".'X-Mailer: PHP/' . phpversion();
$sent = mail('[email protected]',$subject,$body,$header);
除非您配置xampp或wampp或mampp,否则此代码在localhost中将不起作用
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句