Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MAIL_DRIVER=smtp
- MAIL_HOST=smtp.mailtrap.io
- MAIL_PORT=2525
- MAIL_USERNAME=nome de usuario gerado no mailtrap
- MAIL_PASSWORD=senha gerada no mailtrap
- MAIL_ENCRYPTION=null
- MAIL_FROM_NAME="Nome de Envio"
- MAIL_FROM_ADDRESS=email@deenvio.com.br
- Route::get('pagina/enviar-email/{id}', 'NomeDoController@sendMail')->name('nome.da.rota.aqui');
- <?php
- namespace AppMail;
- use IlluminateBusQueueable;
- use IlluminateMailMailable;
- use IlluminateQueueSerializesModels;
- use IlluminateContractsQueueShouldQueue;
- class EnviarMail extends Mailable
- {
- use Queueable, SerializesModels;
- /**
- * Armazena os campos que serão enviados.
- *
- * @access protected
- * @property array $inputs
- */
- protected $inputs;
- /**
- * Cria uma nova instância e
- * armazena os valores dos campos
- * a serem enviados.
- *
- * @access public
- * @param array $inputs
- * @return void
- */
- public function __construct(array $inputs)
- {
- $this->inputs = $inputs;
- }
- /**
- * Constrói o e-mail a ser enviado.
- *
- * @access public
- * @param void
- * @uses view()
- * @return $this
- */
- public function build()
- {
- /**
- * Utiliza uma view qualquer definida,
- * e atribui a ela os valores
- * a serem enviados por email.
- *
- **/
- return $this->view('caminho.da.view.aqui')
- ->with(['campo' => $this->inputs]);
- <h1>E-mail de Contato</h1>
- <p>Apenas um E-mail</p>
- <ul>
- <li>Nome: {{ $campo->nome }}</li>
- <li>E-mail: {{ $campo->email }}</li>
- <li>Login: {{ $campo->valor1 }}</li>
- <li>Senha: {{ $campo->valor2 }}</li>
- </ul>
- /**
- * Executa envio de e-mail.
- *
- * @access public
- * @param int $id
- * @uses Mail::to()
- * @uses Session:flash()
- * @throws Exception
- * @return Route
- **/
- public function sendMail(int $id)
- {
- /**
- * Mail pode gerar uma exceção, devido a isso
- * executamos o envio com intuito de capturá-la
- * e posteriormente tratá-la.
- **/
- try{
- Mail::to('email@dominio.com.br')->send( new EnviarEmail( NomeDoModel::find($id) ) ) ;
- // Mostra uma mensagem de sucesso se enviado
- Session::flash('success', 'E-mail enviado com sucesso!');
- }catch(Exception $e){
- // Mostra uma mensagem de falha senão enviado
- Session::flash('fail', 'Não foi possível enviar o e-mail!');
- }
- // Redireciona após envio ou falha.
- return redirect()->route('nome.da.rota.aqui', $id);
- }
Add Comment
Please, Sign In to add comment