我有联系表格,有人提供他的姓名和电子邮件。我现在想给他发一封电子邮件给Laravel。
我在docs
中找到了要发送邮件,请使用Mail Facade上的to方法。方法 接受电子邮件地址,用户实例或用户集合。
实际上
\ Mail :: to(' example@gmail.com') - > send(new \ App \ Mail \ Hello);
的工作原理。但是,是否也可以为电子邮件收据提供名称?
我想在Mail Facade的Laravel API中查看,但令我惊讶的是,Facade没有到功能?
那么如何才能找到到函数的真正功能以及我是否也可以传递名称参数?
答案 0 :(得分:10)
在laravel 5.6中,回答你的问题是:对每个recpient使用关联数组' email'和' name'密钥,应该使用$ to,$ cc,$ bcc
$to = [
[
'email' => $email,
'name' => $name,
]
];
\Mail::to($to)->send(new \App\Mail\Hello);
答案 1 :(得分:2)
php artisan make:mail YouMail
这些类存储在app / Mail目录中。
在config / mail.php中,您可以配置电子邮件设置:
'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
答案 2 :(得分:2)
您可以使用在callable中注入[^"']*
类的Mail :: send()函数。 Message
类的函数Message
带有您正在搜索的签名,即:
to($email, $name)
$ view可以是字符串(实际视图)或类似这样的数组:
Mail::send($view, $data, function($message) use ($email, $name) {
$m->to($email, $name);
$m->from('youremail@example.com', 'Your Name');
$m->subject('Hi there');
})
$ data参数将传递给$ view。
答案 3 :(得分:0)
对于Laravel< 5.6可以使用这个:
$object = new \stdClass();
$object->email = $email;
$object->name = $user->getName();
\Mail::to($object)->queue($mailclass);
请参阅here
答案 4 :(得分:0)
我更喜欢这种解决方案,因为它更具可读性(无需使用数组和静态字符串键)。
\Mail::send((new \App\Mail\Hello)
->to('example@gmail.com', 'John Doe');
答案 5 :(得分:0)
对于Laravel 8来说是这样的:
const mailchimpFactory = require("@mailchimp/mailchimp_transactional/src/index.js");
const mailchimp = mailchimpFactory("OfPom5DzJHCpKpfdX0Mfgg");
您的Mail是由$user = new User;
$user->email = 'example@example.com';
Mail::to($user)->send(new YourMail);
创建的Mailable类