$arrayEmails = ['someone@mail.com','stranger@mail.com'];
$emailSubject = 'My Subject';
$emailBody = 'Hello, this is my message content.';
Mail::send('emails.normal',
['msg' => $emailBody],
function($message) use ($arrayEmails, $emailSubject) {
$message->to($arrayEmails)
->subject($emailSubject);
}
);
Mail::to($email)
->cc(['name1@domain.com','name2@domain.com'])
->send(new document());
Mail::send(['html' => 'admin.email-template.lowstock'], array('totalUsers' => $totalUsers, 'item' => $item,'data' =>$data), function ($message) use ($user_to_mail, $item) {
$message->from('POS@gmail.com', 'POS');
$message->subject('Notification Mail');
foreach ($user_to_mail as $mail) {
$message->to($mail->email);
}
});
}
return (new Mail)
->to('hello@example.com')
->from('hello@example.com');
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from('example@example.com')
->markdown('emails.orders.shipped', [
'url' => $this->orderUrl,
]);
}
@verbatim
<div class="container">
Hello, {{ name }}.
</div>
@endverbatim
<?php
namespace AppMail;
use AppModelsOrder;
use IlluminateBusQueueable;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;
class OrderShipped extends Mailable
{
use Queueable, SerializesModels;
/**
* The order instance.
*
* @var AppModelsOrder
*/
protected $order;
/**
* Create a new message instance.
*
* @param AppModelsOrder $order
* @return void
*/
public function __construct(Order $order)
{
$this->order = $order;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
// if only 1 file
return $this->view('emails.orders.shipped')->attach($this->order['invoice']);
// if multiple files then i use this code
return $this->view('emails.orders.shipped');
foreach ($this->order['invoice'] as $file){
$this->attach($file);
}
}
}
// Please do comment if you have a better approach
// We all here to find shorter and faster way to get things done
// Thank you