Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
Enviar un correo sin el método `to` en Laravel

Quiero enviar un correo a través de laravel. Por alguna razón, solo quiero configurar el cc antes de llamar al método de send :

 Mail::cc($cc_mail)->send(new MyMailAlert());

Luego defino el destinatario ( to ) directamente en el método de build de mi clase Mailable:

 $this->subject($subject)->to($to_email)->view('my-mail');

Pero falla:

Symfony\Component\Debug\Exception\FatalThrowableError: Llamada al método no definido Illuminate\Mail\Mailer::cc()

¿Cómo puedo enviar un correo sin conocer al destinatario antes de enviarlo en el método de build ? En otras palabras, quiero configurar el destinatario (a) directamente en el método de build y no sé cómo hacerlo.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Aquí hay un truco para lidiar con este problema:

 Mail::to([])->cc($cc_mail)->send(new MyMailAlert());

Así que simplemente agregue un método to() con una matriz vacía y funcionará. Todavía es un truco, no estoy muy seguro de que funcione en el futuro.

over 4 years ago · Santiago Trujillo Relatório

0

cc está documentado en Laravel Docs , pero no puedo encontrar el método o la propiedad en el código fuente de Illuminate\Mail\Mailer , ni en la documentación de la API de Laravel . Así que no puedes usarlo de esta manera.

Pero Illuminate\Mail\Mailable tiene la propiedad cc . Entonces, si desea agregar el cc antes de enviar y agregar el método to compilación, necesita algo como esto:

AlertaMiCorreo.php

 class MyMailAlert extends Mailable implements ShouldQueue { use Queueable, SerializesModels; /** * Create a new message instance. */ public function __construct() { // } /** * Build the message. * * @return $this */ public function build() { return $this->subject($this->subject)->to($this->to)->view('my-mail'); } }

En su controlador:

 $myMailAlert = new MyMailAlert(); $myMailAlert->cc = $cc_mail; // At this point you have cc already setted. Mail::send($myMailAlert); // Here you sends the mail

Tenga en cuenta que el método de compilación usa el subject y to propiedades de la instancia que se puede enviar por correo, por lo que debe configurarlo antes de enviarlo.

No estoy seguro de dónde está recuperando su $subject y $to_email en su ejemplo de método de compilación, pero para mi ejemplo, debe dar estos valores a $myMailAlert->subject y $myMailAlert->to . Puede usar sus variables personalizadas en el método de compilación, pero dado que la clase ya tiene estas propiedades, las variables personalizadas no son necesarias.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda