1
resposta

Não consigo enviar o email

Bom dia pessoal!!!

Não estou conseguindo enviar o e-mail, estou recebendo esse erro:

Cannot send message without a sender address

Estou usando o Laravel 8.54

Segue o código:

.env:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=********
MAIL_PASSWORD=********
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

web.php:

Route::get('/enviando-email', function () {
    $email = new NovaSerie('Arrow', 5, 10);

    $email->subject = 'Nova Série Adicionada';

    $user = (object) [
        'email' => 'bruno@teste.com',
        'name' => 'Bruno'
    ];

    Mail::to($user)->send($email);

    return 'Email enviado!';
});

Recebo esse erro mesmo eu passando o e-mail de remetente que é o 'bruno@teste.com'.

1 resposta

Minhas sugestões:

  1. Verifique se o user e senha do mailtrap estão ok
  2. Veja se você importou no topo de sua aplicação a classe:
    use \Illuminate\Support\Facades\Mail;

Mas eu acho que a bronca é porque você precisa definir o sender. Isso é feito de vários jeitos, e o mais fácil é editando o arquivo config/mail.php e inserindo algo assim:

    'from' => ['address' => 'example@example.com', 'name' => 'App Name'],

Outra forma (a depender da versão do Laravel que você tá usando) é editar o arquivo .env e definir as duas linhas:

MAIL_FROM_ADDRESS="example@example.com"
MAIL_FROM_NAME="App Name"

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software