如何在 Laravel 邮件通知中更改发件人姓名
How to change From Name in Laravel Mail Notification
这是问题所在:
我需要这方面的帮助。谢谢
在config/mail.php
设置from
属性为:
'from' => ['address' => 'someemail@somedomain.com', 'name' => 'Firstname Lastname']
这里address应该是你想在from email中显示的地址,name应该是你想在from name中显示的地址。
P.S。这将是您发送的每封电子邮件的默认电子邮件设置。
编辑:如果您需要通过代码将名称用作变量,您还可以按如下方式调用函数 from() 14=]
return $this
->from($address = 'noreply@domain.com', $name = 'Sender name')
->subject('Here is my subject')
->view('emails.view');
您可以使用
Mail::send('emails.welcome', $data, function($message)
{
$message->from('us@example.com', 'Laravel');
$message->to('foo@example.com')->cc('bar@example.com');
});
我认为您的代码片段有误。你有
from(config('app.senders.info'), 'My Full Name')
所以配置('app.senders.info')returns数组。
from 方法应该有两个参数:第一个是包含地址的字符串,第二个是带有发件人姓名的字符串。所以你应该把它改成
from(config('app.senders.info.address'), config('app.senders.info.name'))
更好的方法是在 .env
文件中添加变量名称和值。
示例:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@example.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="My Name"
MAIL_FROM_ADDRESS=support@example.com
注意最后两行。这些将与发送的电子邮件中的 from name 和 from email 字段相关联。
对于使用 Laravel 5.8 并解决这个问题的任何人,请试一试,它对我有用:
在邮件本身的构建函数中(不是视图,而是邮件):
public function build()
{
return $this
->from($address = 'noreply@domain.com', $name = 'Sender name')
->subject('Here is my subject')
->view('emails.welcome');
}
编码愉快 :)
在 google SMTP 的情况下,即使您在邮件 class 中提供发件人地址也不会改变。
这是由于 google 邮件的政策,而不是 Laravel 问题。
以为我会在这里分享。
如果你想要全局 'from name' 和 'from email',
在 .env 文件中创建这 2 个密钥
MAIL_FROM_NAME="global from name"
MAIL_FROM_ADDRESS=支持@example.com
并删除控制器上的 'from'。或 php 代码,如果您手动声明。
现在它可以从姓名和电子邮件访问。
config\mail.php
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'info@catandpillar@.com'),
'name' => env('MAIL_FROM_NAME', 'write name if not found in env'),
],
在我的控制器上。
$conUsBody = '';
$conUsBody .= '<h2 class="text-center">Hello Admin,</h2>
<b><p> '.trim($request->name).' Want some assesment</p></b>
<p>Here are the details:</p>
<p>Name: '.trim($request->name).'</p>
<p>Email: '.trim($request->email).'</p>
<p>Subject: '.trim($request->subject).'</p>';
$contactContent = array('contactusbody' => $conUsBody);
Mail::send(['html' => 'emails.mail'], $contactContent,
function($message) use ($mailData)
{
$message->to('vinay.kaithwas@gmail.com', 'Admin')->subject($mailData['subject']);
$message->attach($mailData['attachfilepath']);
});
return back()->with('success', 'Thanks for contacting us!');
}
我的 blade 模板。
<body>
{!! $contactusbody !!}
</body>
这是问题所在:
我需要这方面的帮助。谢谢
在config/mail.php
设置from
属性为:
'from' => ['address' => 'someemail@somedomain.com', 'name' => 'Firstname Lastname']
这里address应该是你想在from email中显示的地址,name应该是你想在from name中显示的地址。
P.S。这将是您发送的每封电子邮件的默认电子邮件设置。
编辑:如果您需要通过代码将名称用作变量,您还可以按如下方式调用函数 from() 14=]
return $this
->from($address = 'noreply@domain.com', $name = 'Sender name')
->subject('Here is my subject')
->view('emails.view');
您可以使用
Mail::send('emails.welcome', $data, function($message)
{
$message->from('us@example.com', 'Laravel');
$message->to('foo@example.com')->cc('bar@example.com');
});
我认为您的代码片段有误。你有
from(config('app.senders.info'), 'My Full Name')
所以配置('app.senders.info')returns数组。
from 方法应该有两个参数:第一个是包含地址的字符串,第二个是带有发件人姓名的字符串。所以你应该把它改成
from(config('app.senders.info.address'), config('app.senders.info.name'))
更好的方法是在 .env
文件中添加变量名称和值。
示例:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@example.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="My Name"
MAIL_FROM_ADDRESS=support@example.com
注意最后两行。这些将与发送的电子邮件中的 from name 和 from email 字段相关联。
对于使用 Laravel 5.8 并解决这个问题的任何人,请试一试,它对我有用:
在邮件本身的构建函数中(不是视图,而是邮件):
public function build()
{
return $this
->from($address = 'noreply@domain.com', $name = 'Sender name')
->subject('Here is my subject')
->view('emails.welcome');
}
编码愉快 :)
在 google SMTP 的情况下,即使您在邮件 class 中提供发件人地址也不会改变。 这是由于 google 邮件的政策,而不是 Laravel 问题。 以为我会在这里分享。
如果你想要全局 'from name' 和 'from email',
在 .env 文件中创建这 2 个密钥
MAIL_FROM_NAME="global from name"
MAIL_FROM_ADDRESS=支持@example.com
并删除控制器上的 'from'。或 php 代码,如果您手动声明。 现在它可以从姓名和电子邮件访问。
config\mail.php
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'info@catandpillar@.com'),
'name' => env('MAIL_FROM_NAME', 'write name if not found in env'),
],
在我的控制器上。
$conUsBody = '';
$conUsBody .= '<h2 class="text-center">Hello Admin,</h2>
<b><p> '.trim($request->name).' Want some assesment</p></b>
<p>Here are the details:</p>
<p>Name: '.trim($request->name).'</p>
<p>Email: '.trim($request->email).'</p>
<p>Subject: '.trim($request->subject).'</p>';
$contactContent = array('contactusbody' => $conUsBody);
Mail::send(['html' => 'emails.mail'], $contactContent,
function($message) use ($mailData)
{
$message->to('vinay.kaithwas@gmail.com', 'Admin')->subject($mailData['subject']);
$message->attach($mailData['attachfilepath']);
});
return back()->with('success', 'Thanks for contacting us!');
}
我的 blade 模板。
<body>
{!! $contactusbody !!}
</body>