<?php
namespace Illuminate\Contracts\Mail;
use Illuminate\Contracts\Mail\Mailable as MailableContract;
interface Mailer
{
/**
* Begin the process of mailing a mailable class instance.
*
* @param mixed $users
* @return \Illuminate\Mail\PendingMail
*/
public function to($users);
/**
* Begin the process of mailing a mailable class instance.
*
* @param mixed $users
* @return \Illuminate\Mail\PendingMail
*/
public function bcc($users);
/**
* Send a new message when only a raw text part.
*
* @param string $text
* @param mixed $callback
* @return void
*/
public function raw($text, $callback);
/**
* Send a new message using a view.
*
* @param string|array|MailableContract $view
* @param array $data
* @param \Closure|string $callback
* @return void
*/
public function send($view, array $data = [], $callback = null);
/**
* Get the array of failed recipients.
*
* @return array
*/
public function failures();
}