我正在尝试将 SAME 电子邮件发送到数组$emails
提供的多个地址。
我创建了一个名为SendMail
的类,而inside是一个sendPost()
方法,它接受2个参数:
($post, $emails)
这是我的代码:
class SendMail {
public static function sendPost($post, $emails)
{
Mail::send('acme.blog::mail.message', $post, function($message) {
$message->to($emails);
$message->from('mail@compuflexcorp.com', 'Compuflex Mail');
$message->subject($post['subject']);
$message->replyTo($post['email']);
});
}
}
问题是,我一直收到错误:
"未定义的变量$ emails"在C的第14行:\ ... \ SendMail.php
第14行: $message->to($emails);
我尝试过:
我查看是否可以访问$post
内<{1}}内的$emails
和sendPost()
变量,但Mail::send()
之外。答案是 是 ,我可以访问$post
内$emails
和sendPost()
内的信息,因此变量是实际上,传递给sendPost()
方法。
我一开始认为这与$emails
不是Mail::send()
的论据之一有关,所以我把$post
和{{$emails
放在一起1}}成一个名为$vars
的数组,但后来我收到了错误:
&#34;未定义的变量$ vars&#34;在C的第14行:\ ... \ SendMail.php
所以,我意识到问题似乎是我无法将任何变量传递给Mail::send()
,换句话说,我只是不知道如何...
任何帮助将不胜感激...... Thomas Yamakaitis
答案 0 :(得分:4)
您需要传递$ emails变量,如下所示:
class SendMail {
public static function sendPost($post, $emails)
{
Mail::send('acme.blog::mail.message', $post, function($message) use ($emails) {
$message->to($emails);
$message->from('mail@compuflexcorp.com', 'Compuflex Mail');
$message->subject($post['subject']);
$message->replyTo($post['email']);
});
}
}