Ciao a tutti, sto realizzando il classico form di richiesta informazioni nel mio sito, dove l'utente inserisce il proprio nome, cognome, mail, oggetto, messaggio.
Per fare ciò ho utilizzato il comando Laravel: php artisan make:mail Contact, quindi ho il controller MailController in http/controllers, mentre in app ho la cartella mail con la classe Contact.php.

Il problema sorge che una volta compilato il form e cliccato sul pulsante submit del form, non mi viene inviata la mail.

Vi posto ora il codice:
Vista: index.blade.php
codice:
//codice del form contattami
<div class="col-md-6">
                            <div class="contact_from_area wow fadeInUp animated">
                                <div class="contact_title">
                                    <h3>Contattami:</h3>
                                </div>
                                <div class="row">
                                    <form action="{{url('contact-me')}}" method="post" id="contactForm">
                                        {{csrf_field()}}
                                        <div class="form-group col-md-12">
                                            <input type="text" class="form-control" name="name" id="name" placeholder="Nome*" required>
                                        </div>
                                        <div class="form-group col-md-12">
                                            <input type="text" class="form-control" name="last" id="last" placeholder="Cognome*" required>
                                        </div>
                                        <div class="form-group col-md-12">
                                            <input type="email" class="form-control" name="email" id="email" placeholder="La tua email*" required>
                                        </div>
                                        <div class="form-group col-md-12">
                                            <input type="text" class="form-control" name="subject" id="subject" placeholder="Oggetto">
                                        </div>
                                        <div class="form-group col-md-12">
                                            <textarea class="form-control" rows="1" id="message" name="message" placeholder="Scrivi qui il tuo messaggio....." required></textarea>
                                        </div>
                                        <div class="form-group col-md-12">
                                            <button class="btn btn-default contact_btn" type="submit"><span>Invia messaggio</span></button>
                                        </div>
                                    </form>
                                   <div id="success">
                                        <p>Il messaggio è stato inviato correttamente!</p>
                                    </div>
                                    <div id="error">
                                        <p>Ci dispiace! Il tuo messaggio non è stato inviato, qualcosa è andato storto!!</p>
                                    </div>
                                </div>
                            </div>
                        </div>
questo è il controller MailController:
codice:
namespace mysite\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Mail;
use Collection;
use App\Mail\Contact;
/**
 * Description of MailController
 *
 * @author Ezio
 */
class MailController 
{
    public function contact(Request $request)
    {
        // validation and other stuff...
      //  [...]
        
        // sender
        $sender = [ 'name' => $request->name, 'last' =>$request->last  , 'mail' => $request->email ];
        // recipients
        $recipients = new Collection;
        $recipients->push(['name' => 'Tirimacco Ezio', 'mail' => 'tirimaxx@gmail.com']);
        
        // attributes
        $attributes = [
            'name' => $request->name,
            'message' => $request->message
        ];
        Mail::send(new Contact($sender, $recipients, 'mail.contact', $attributes));
        // return result
       // [...]
    }
}
questo è Contact.php:
codice:
namespace mysite\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class Contact extends Mailable
{
    use Queueable, SerializesModels;
    private $sender, $recipients, $template, $attributes;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($sender, $recipients, $template, $attributes)
    {
        $this->sender = $sender;
        $this->email = $recipients;
        $this->template = $template;
        $this->attributes = $attributes;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        // Senders addresses
        $this->from($this->sender['name'], $this->sender['last'] , $this->sender['mail']);
        
        // Recipients addresses
        foreach($recipients as $recipient) {
            $this->to($recipient['name'], $recipient['mail']);
        }
        
        // Subject
        $this->subject($this->sender['subject']);
                        
        // Return view
        return $this->view($this->template);
    }
}