desplegament:laravel
Aquesta és una revisió antiga del document
Taula de continguts
Laravel
Si voleu desplegar aplicacions dins d'un contenidor, teniu una explicació a https://help.clouding.io/hc/en-us/articles/13590007627164-How-to-Deploy-Laravel-with-Docker-on-Ubuntu-22-04
Tasques periòdiques
Laravel inclou dins del seu framework un gestor de tasques periòdiques molt potent https://laravel.com/docs/11.x/scheduling ara bé, perquè funcioni s'ha de configurar el cron del sevidor seguint les indicacions de https://laravel.com/docs/11.x/scheduling#running-the-scheduler
Enviar emails amb PHPmailer
Per poder utiliztar PHPmailer, en primer cop tindrem que instala la dependencia amb composer de la seguent manera:
composer require phpmailer/phpmailer
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\View; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; class NameController extends Controller { public function sendEmail(Request $request) { // Validar les dades rebudes $validatedData = $request->validate([ 'subject' => 'required|string', 'message' => 'required|string', 'to' => 'required|array', 'to.*' => 'required|email', // Cada element hi ha que se valid ]); // Configurar PHPMailer $mail = new PHPMailer(true); try { // Configuració del servidor SMTP $mail->isSMTP(); $mail->CharSet = 'UTF-8'; $mail->Host = env("MAIL_HOST"); $mail->SMTPAuth = true; $mail->Username = env("MAIL_USERNAME"); $mail->Password = env("MAIL_PASSWORD"); $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; $mail->SMTPOptions = [ 'ssl' => [ 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ] ]; // Remitent $mail->setFrom('correu@example.com', 'Example App'); // Afegir el destinatari principal (es pot deixar buit si no hi ha principal) $mail->addAddress('correu@example.com'); // Este puede ser tu dirección de control // Afegir cada destinatari com BCC (còpia oculta) foreach ($validatedData['to'] as $recipient) { $mail->addBCC($recipient); } // En cas de tindre una vista (blade) la renderitzarem perquè l'usuari el vegi la informació // en el correu $htmlContent = View::make('email.notification', [ 'subject' => $validatedData['subject'], 'message' => $validatedData['message'], ])->render(); // Contingut del correu $mail->isHTML(true); $mail->Subject = $validatedData['subject']; $mail->Body = $htmlContent; // Enviar el correu $mail->send(); return response()->json([ 'message' => 'Email sent successfully' ]); } catch (Exception $e) { return response()->json([ 'error' => "Error sending email: {$mail->ErrorInfo}" ], 500); } } }
/home/admin/web/eines.inspedralbes.cat/public_html/dokuwiki/data/attic/desplegament/laravel.1737021402.txt.gz · Darrera modificació: 2025/01/16 09:56 per brian_a23_jaen_medina
