desplegament:laravel
Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèviaRevisió prèviaSegüent revisió | Revisió prèvia | ||
| desplegament:laravel [2025/01/11 23:37] – ebota | desplegament:laravel [2025/02/04 21:06] (actual) – Afegida referència a l'article de mail bàsic ebota | ||
|---|---|---|---|
| Línia 5: | Línia 5: | ||
| ====== Tasques periòdiques ====== | ====== Tasques periòdiques ====== | ||
| - | Laravel inclou dins del seu framework un gestor de tasques periòdiques molt potent https:// | + | Laravel inclou dins del seu framework un gestor de tasques periòdiques molt potent https:// |
| + | |||
| + | ====== Enviar emails dinàmics amb PHPmailer & Laravel (amb una plantilla blade)====== | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Si només volem enviar un mail des de codi php " | ||
| + | </ | ||
| + | |||
| + | |||
| + | Per poder utilitzar **PHPmailer**, | ||
| + | |||
| + | <code bash> | ||
| + | composer require phpmailer/ | ||
| + | </ | ||
| + | |||
| + | Després de fer la instal·lació de la dependència haurem d'anar a l' | ||
| + | |||
| + | <code bash> | ||
| + | back/ | ||
| + | </ | ||
| + | |||
| + | Dins d' | ||
| + | |||
| + | Per crear un controlador a **Laravel** es fa de la següent manera: | ||
| + | |||
| + | <code bash> | ||
| + | php artisan make: | ||
| + | </ | ||
| + | |||
| + | Arxiu **api.php**. | ||
| + | |||
| + | <code php> | ||
| + | <?php | ||
| + | |||
| + | use Illuminate\Http\Request; | ||
| + | use Illuminate\Support\Facades\Route; | ||
| + | use App\Http\Controllers\ElNomDelTeuController; | ||
| + | |||
| + | |||
| + | Route:: | ||
| + | |||
| + | Route:: | ||
| + | return view(' | ||
| + | }); | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | Per poder crear una view per l' | ||
| + | |||
| + | <code bash> | ||
| + | back/ | ||
| + | </ | ||
| + | |||
| + | Les views es fan amb HTML. Un exemple d'una view: | ||
| + | |||
| + | **IMPORTANT!**. Tindre en compte els noms dels objectes i variables si no, sortirà un text per defecte. | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | body { | ||
| + | font-family: | ||
| + | background-color: | ||
| + | color: #333; | ||
| + | margin: 0; | ||
| + | padding: 0; | ||
| + | line-height: | ||
| + | } | ||
| + | |||
| + | .container { | ||
| + | max-width: 600px; | ||
| + | margin: 50px auto; | ||
| + | padding: 20px; | ||
| + | background-color: | ||
| + | border-radius: | ||
| + | box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); | ||
| + | text-align: center; | ||
| + | } | ||
| + | |||
| + | | ||
| + | h4 { | ||
| + | font-size: 1.5rem; | ||
| + | font-weight: | ||
| + | color: # | ||
| + | margin-bottom: | ||
| + | } | ||
| + | |||
| + | | ||
| + | p { | ||
| + | margin-bottom: | ||
| + | color: #555; | ||
| + | } | ||
| + | |||
| + | |||
| + | footer { | ||
| + | margin-top: 30px; | ||
| + | font-size: 0.875rem; | ||
| + | color: #888; | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | <div class=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p> | ||
| + | <a href=" | ||
| + | | ||
| + | | ||
| + | Acceder al cuestionario | ||
| + | </a> | ||
| + | </p> | ||
| + | |||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | Els controladors es troben en la següent ruta: | ||
| + | |||
| + | <code bash> | ||
| + | back/ | ||
| + | </ | ||
| + | |||
| + | Arxiu ElNomDelTeuController.php. | ||
| + | |||
| + | <code php> | ||
| + | |||
| + | <?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-> | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ]); | ||
| + | |||
| + | // Configurar PHPMailer | ||
| + | $mail = new PHPMailer(true); | ||
| + | |||
| + | try { | ||
| + | // Configuració del servidor SMTP | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | |||
| + | $mail-> | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ] | ||
| + | ]; | ||
| + | |||
| + | // Remitent | ||
| + | $mail-> | ||
| + | |||
| + | // Afegir el destinatari principal (es pot deixar buit si no hi ha principal) | ||
| + | $mail-> | ||
| + | |||
| + | // Afegir cada destinatari com BCC (còpia oculta) | ||
| + | foreach ($validatedData[' | ||
| + | $mail-> | ||
| + | } | ||
| + | | ||
| + | // En cas de tindre una vista (blade) la renderitzarem perquè l' | ||
| + | // en el correu | ||
| + | |||
| + | $htmlContent = View:: | ||
| + | ' | ||
| + | ' | ||
| + | ])-> | ||
| + | |||
| + | // Contingut del correu | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | $mail-> | ||
| + | |||
| + | // Enviar el correu | ||
| + | $mail-> | ||
| + | |||
| + | return response()-> | ||
| + | ' | ||
| + | ]); | ||
| + | |||
| + | } catch (Exception $e) { | ||
| + | return response()-> | ||
| + | ' | ||
| + | ], 500); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | </ | ||
/home/admin/web/eines.inspedralbes.cat/public_html/dokuwiki/data/attic/desplegament/laravel.1736638676.txt.gz · Darrera modificació: 2025/01/11 23:37 per ebota
