繁体   English   中英

Laravel电子邮件,发送多个电子邮件

[英]Laravel Email, send multiples e-mails

我正在尝试将邮件发送给多个提供商

$email['success']等于:

0 => {
  'name' => 'Quimer Comercial Ltda.',
  'email' => 'anapaula.vendas@quimer.com.br'
},
1 => {
  'name' => 'Doce Aroma Industria e Comercio - 47'
  'email' => 'docearoma@docearoma.com.br'
},
2 => {
  'name' => 'Purifarma Distr.quimica e Farmac. Ltda.'
  'email' => 'purifarma@purifarma.com.br'
}

那是我的代码:

$mail = new NewCotacao($codigoempresa, $codigocotacao);
foreach($emails['success'] as $email){
    Mail::to($email['email'])->send($mail);
}

但是看看发生了什么

在此处输入图片说明

我想每个人看起来像这样

To: anapaula.vendas@quimer.com.br

To: docearoma@docearoma.com.br

To: purifarma@purifarma.com.br

您应该为每个用户创建单独的Mailable

foreach($emails['success'] as $email){
    $mail = new NewCotacao($codigoempresa, $codigocotacao);
    Mail::to($email['email'])->send($mail);
}

如果您使用同一Mailable实例,则收件人将被附加。

// Extracted from vendor source code
// File: illuminate/mail/Mailable.php

/**
 * Set the recipients of the message.
 *
 * @param  object|array|string  $address
 * @param  string|null  $name
 * @return $this
 */
public function to($address, $name = null)
{
    return $this->setAddress($address, $name, 'to');
}

/**
 * Set the recipients of the message.
 *
 * All recipients are stored internally as [['name' => ?, 'address' => ?]]
 *
 * @param  object|array|string  $address
 * @param  string|null  $name
 * @param  string  $property
 * @return $this
 */
protected function setAddress($address, $name = null, $property = 'to')
{
    foreach ($this->addressesToArray($address, $name) as $recipient) {
        $recipient = $this->normalizeRecipient($recipient);
        $this->{$property}[] = [
            'name' => $recipient->name ?? null,
            'address' => $recipient->email,
        ];
    }
    return $this;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM