我使用Gmail SMTP帐户发送电子邮件,但我希望向接收方显示不同的发件人电子邮件。我使用下面的代码覆盖来自电子邮件地址。
Mail::send('emails_old.send_message', ['data' => $request->message], function ($message) use ($request, $toEmail, $cc, $bcc, $attacments)
{
$message->to($toEmail);
$message->subject($request->subject);
$message->from('no-reply@xyz', 'No reply');
$message->replyTo(auth()->user()->email, auth()->user()->name);
});
以上代码工作正常&也会覆盖发件人姓名,但不会覆盖电子邮件地址。
任何人都能说出我在做什么错了吗?
谢谢, Kaleem
答案 0 :(得分:3)
Gmail仅允许您将“设置”中的“发件人”地址用作经过验证的别名。您不能(也不应该)欺骗您无法控制的电子邮件地址。如果不出意外,由于SPF记录,它经常会被标记为垃圾邮件。 - ceejayoz
如果您想使用发送邮件的其他电子邮件地址尝试使用邮件服务器,或尝试使用maldriver(例如mailgun)。
我只使用Gmail SMTP进行开发,然后切换到我的邮件服务器。
我注意到虽然其他服务可能允许你这样做,但它仍然是一个可怕的想法。 SPF记录会发送大量这样的垃圾邮件。 - ceejayoz
因此,如果仅用于开发或学校项目,您可以使用mailgun或Gmail SMTP等邮件服务。否则尝试让邮件服务器处理无回复电子邮件。