繁体   English   中英

无法将电子邮件发送到laravel 5中动态的电子邮件发件人

[英]Failed to send an email to the email sender dynamic in laravel 5

我的代码是这样的:

 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' => 'myemail@gmail.com', 'name' => 'myname'],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME', 'myemail@gmail.com'),
    '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('myemail@gmail.com',$subject,$body,$header);

除非您配置xampp或wampp或mampp,否则此代码在localhost中将不起作用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM