我想将带有某些帐户的电子邮件发送到某些目标。但是,使用此代码时,所有电子邮件仅传递给第一个发送者帐户。
from()只是更改邮件中的发件人名称,而无法更改发件人帐户
while(true)
{
$config = array(
'driver' => 'smtp',
'host' => $smtp,
'from' => array('address' => $senders[$p], 'name' =>
$senderName),
'username' => $senders[$p],
'password' => $senderpasses[$p],
'port' => '587',
'encryption' => 'tls'
);
Config::set('mail', $config);
$data = [
'target' => $email[$m],
'text' => $text,
'title' => $title,
'sender' => $senders[$p],
'senderName' => $senderName
];
try {
Mail::send('emails.mail', ['data' => $data], function
($message) use ($data) {
$message->from($data['sender'], $data['senderName']);
$message->to($data['target'])-
>subject($data['titl']);
});
} catch (\Exception $e) {
echo $e->getMessage();
}
$m++;
$p++;
if ($p >= count($senders)) {
$p = 0;
}
if ($m >= count($email)) {
return ($m);
}
}
仅与第一个发件人发送电子邮件,不使用其他用户。
答案 0 :(得分:0)
电子邮件是从单个发件人发送到多个地址的,因此无法实现您的要求。
您必须多次发送邮件,每个发件人一次。请问这种情况的目的是什么?