鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全/ Laravel郵件發(fā)送配置問題

Laravel郵件發(fā)送配置問題

我的需求是,針對(duì)不同的業(yè)務(wù)或者群體,使用的發(fā)件箱不一樣,如果使用laravel中的mail發(fā)送,發(fā)件箱這個(gè)不知道咋改,求助

Mail::send('mall.suggest.mail', $data, function ($message) {
                        $message->from('a@163.com', '發(fā)送人A');
                        $message->sender('a@163.com', '發(fā)送人A');
                        $message->to('receiver@qq.com', 'receiver@qq.com');
                        $message->subject("郵件標(biāo)題");

                    });

其中mail.php中默認(rèn)配置了a@163.com,但我現(xiàn)在想用b@163.com發(fā)送,有么有什么辦法可以實(shí)現(xiàn)的?

回答
編輯回答
冷溫柔

laravel沒用過,不過swiftMailer可以這樣搞:

$transport = Swift_SmtpTransport::newInstance($send_host, 25)
    ->setUsername($email_config['email'])
    ->setPassword($email_config['password']);
$mailer = new Mailer();
$mailer->setTransport($transport);
//Priority value, should be an integer in range: 1..5, where 1 is the highest priority and 5 is the lowest.
$priority = $email['isurgent'] == 2 ? 1 : 3;
$message = (new Message())
    ->setFrom([$email['send_mail'] => $email['send_name']])
    ->setTo(explode(';', $email['receive_mail']))
    ->setSubject($email['title'])
    ->setHtmlBody($email['content'])
    ->setPriority($priority);
$email['ccperson'] ? $message->setCc(explode(';', $email['ccperson'])) : '';
$email['bccperson'] ? $message->setBcc(explode(';', $email['bccperson'])) : '';
$email['isreturn'] ? $message->setReadReceiptTo($email['send_mail']) : '';
$attachment = json_decode($email['attachment'] ?: '[]', true);
$base_path = getcwd() . '/';
foreach ($attachment as $v) {
    if (file_exists($base_path . $v['path'])) {
        $message->attach($base_path . $v['path'], ['fileName' => $v['name'], 'contentType' => $v['type']]);
    }
}
$result = $mailer->send($message);

設(shè)置下transport 。

2018年5月8日 18:38