在使用Laravel的Mail::send()回调时,我似乎无法成功地发送到multiple个地址,但是当我只指定one个收件人时,代码确实有效.

我试过用链子锁住:

// for example
$emails = array("myemail1@email.com", "myemail2@email.com");
$input = Input::all();

Mail::send('emails.admin-company', array('body' => Input::get('email_body')), 
function($message) use ($emails, $input) {
    $message
    ->from('admin@admin.org', 'Administrator')
    ->subject('Admin Subject');

        foreach ($emails as $email) {
            $message->to($email);
        }
});

并传递一个数组:

// for example
$emails = array("myemail1@email.com", "myemail2@email.com");
$input = Input::all();

Mail::send('emails.admin-company', array('body' => Input::get('email_body')), 
    function($message) use ($emails, $input) {
        $message
        ->from('admin@admin.org', 'Administrator')
        ->subject('Admin Subject');

        $message->to($emails);
});

但是这两种方法都不起作用,我在返回Mail::failures()时收到失败消息,Mail::failures()的var_dump()显示了我试图发送到的邮箱地址,例如:

array(2) {
  [0]=>
  string(18) "myemail1@email.com"
  [1]=>
  string(18) "myemail2@email.com"
}

显然是做错了什么,我也不理解API,希望能得到任何帮助:http://laravel.com/api/4.2/Illuminate/Mail/Message.html#method_to

我意识到我可以在for/foreach循环中使用Mail::send()方法,每个邮箱地址使用Mail::send()方法,但在我看来,这并不是最佳解决方案,我希望在一切正常后,我也能将->bcc()方法应用到所有地址,这样收件人就不会看到邮件发送给其他人.

推荐答案

我使用以下代码对其进行了测试:

$emails = ['myoneemail@esomething.com', 'myother@esomething.com','myother2@esomething.com'];

Mail::send('emails.welcome', [], function($message) use ($emails)
{    
    $message->to($emails)->subject('This is test e-mail');    
});
var_dump( Mail:: failures());
exit;

结果-失败的空array.

当然,您需要正确配置您的app/config/mail.php.因此,首先确保您可以只向一个用户发送邮箱,然后向多个用户测试您的代码.

此外,使用这个简单的代码,我的邮箱没有发送到免费邮件帐户,我只收到我付费主机帐户上的收件箱的邮箱,所以它们可能会被一些过滤器捕获(可能是简单的主题/内容问题,但我提到了这一点,以防你没有收到一些邮箱).

Php相关问答推荐

在WooCommerce Checkout帐单地址字段后插入自定义按钮

PHP DateInterval天数不一致

自定义WooCommerce帐户下载列表

PHP,ZipArchive删除一个空文件?

如何使用定制的StateProvider设置JsonLd@上下文?

Select 本地提货时隐藏WooCommerce显示的发货成本

Laravel Http::get not working on controller

按类别层次 struct 过滤 Laravel 集合

使用 foreach php 将记录正确分配给正确的父级

在 php 中生成 MAC ISO/IEC 9797-1

使用动态地址和动态文件创建zip文件并获取zip文件链接

无法读取某些 WordPress 主机上的 cookie

PHP header() 是否缓存重定向,如果是,如何防止它这样做?

PDO 和 SQL 查询结果中日期格式不同的原因可能是什么?

输出每个可能的产品选项

使用 Eloquent 更新现有的外键值

PHP Loop 在迭代中使用修改后的数据

如何在 Laravel 中验证多个输入?

使用 --exclude-dir 选项从 PHP 执行 grep 时出现问题

在管理表单字段中