Guest User

Untitled

a guest
Dec 24th, 2018
2,053
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. MAIL_DRIVER=smtp
  2. MAIL_HOST=smtp.mailtrap.io
  3. MAIL_PORT=2525
  4. MAIL_USERNAME=nome de usuario gerado no mailtrap
  5. MAIL_PASSWORD=senha gerada no mailtrap
  6. MAIL_ENCRYPTION=null
  7. MAIL_FROM_NAME="Nome de Envio"
  8. MAIL_FROM_ADDRESS=email@deenvio.com.br
  9.  
  10. Route::get('pagina/enviar-email/{id}', 'NomeDoController@sendMail')->name('nome.da.rota.aqui');
  11.  
  12. <?php
  13.  
  14. namespace AppMail;
  15.  
  16. use IlluminateBusQueueable;
  17. use IlluminateMailMailable;
  18. use IlluminateQueueSerializesModels;
  19. use IlluminateContractsQueueShouldQueue;
  20.  
  21. class EnviarMail extends Mailable
  22. {
  23. use Queueable, SerializesModels;
  24.  
  25. /**
  26. * Armazena os campos que serão enviados.
  27. *
  28. * @access protected
  29. * @property array $inputs
  30. */
  31. protected $inputs;
  32.  
  33. /**
  34. * Cria uma nova instância e
  35. * armazena os valores dos campos
  36. * a serem enviados.
  37. *
  38. * @access public
  39. * @param array $inputs
  40. * @return void
  41. */
  42. public function __construct(array $inputs)
  43. {
  44. $this->inputs = $inputs;
  45. }
  46.  
  47. /**
  48. * Constrói o e-mail a ser enviado.
  49. *
  50. * @access public
  51. * @param void
  52. * @uses view()
  53. * @return $this
  54. */
  55. public function build()
  56. {
  57. /**
  58. * Utiliza uma view qualquer definida,
  59. * e atribui a ela os valores
  60. * a serem enviados por email.
  61. *
  62. **/
  63. return $this->view('caminho.da.view.aqui')
  64. ->with(['campo' => $this->inputs]);
  65.  
  66. <h1>E-mail de Contato</h1>
  67. <p>Apenas um E-mail</p>
  68.  
  69. <ul>
  70. <li>Nome: {{ $campo->nome }}</li>
  71. <li>E-mail: {{ $campo->email }}</li>
  72. <li>Login: {{ $campo->valor1 }}</li>
  73. <li>Senha: {{ $campo->valor2 }}</li>
  74. </ul>
  75.  
  76. /**
  77. * Executa envio de e-mail.
  78. *
  79. * @access public
  80. * @param int $id
  81. * @uses Mail::to()
  82. * @uses Session:flash()
  83. * @throws Exception
  84. * @return Route
  85. **/
  86. public function sendMail(int $id)
  87. {
  88. /**
  89. * Mail pode gerar uma exceção, devido a isso
  90. * executamos o envio com intuito de capturá-la
  91. * e posteriormente tratá-la.
  92. **/
  93. try{
  94. Mail::to('email@dominio.com.br')->send( new EnviarEmail( NomeDoModel::find($id) ) ) ;
  95. // Mostra uma mensagem de sucesso se enviado
  96. Session::flash('success', 'E-mail enviado com sucesso!');
  97. }catch(Exception $e){
  98. // Mostra uma mensagem de falha senão enviado
  99. Session::flash('fail', 'Não foi possível enviar o e-mail!');
  100. }
  101.  
  102. // Redireciona após envio ou falha.
  103. return redirect()->route('nome.da.rota.aqui', $id);
  104. }
Add Comment
Please, Sign In to add comment