bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


php

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
php [2025/01/21 23:33]
enric_mieza_sanchez [Enviar emails]
php [2025/01/23 17:26] (actual)
enric_mieza_sanchez [Enviar emails]
Línia 444: Línia 444:
 \\ \\
  
-===== Més coses ===== 
-\\ 
  
-==== Carregar imatges ====+===== Carregar imatges =====
 Aquí tens un [[https://pqina.nl/blog/image-upload-with-php/|tutorial per carregar imatges en PHP]]. Aquí tens un [[https://pqina.nl/blog/image-upload-with-php/|tutorial per carregar imatges en PHP]].
  
Línia 461: Línia 459:
 \\ \\
  
-==== Enviar emails ====+===== Enviar emails =====
  
-Disposar d'un servidor d'email s'ha convertit en una tasca complicada degut a les grans quantitats de Spam que circulen. Disposar d'un servidor d'email que passi els controls antispam és força complicat. Podeu conèixer mes detalls a l'article [[email Linux Docker]]. +Disposar d'un servidor d'email s'ha convertit en una tasca complicada degut a les grans quantitats de Spam que circulen. Disposar d'un servidor de [[correu electrònic]] que passi els controls //antispam// és força complicat. Podeu conèixer mes detalls a l'article [[email Linux Docker]].
  
 Disposem, al menys, de dos maneres de fer-ho: Disposem, al menys, de dos maneres de fer-ho:
   - Tenint un **servidor d'email local com postfix** i enviant mitjançant la [[https://www.php.net/manual/es/function.mail.php|comanda PHP mail()]].   - Tenint un **servidor d'email local com postfix** i enviant mitjançant la [[https://www.php.net/manual/es/function.mail.php|comanda PHP mail()]].
-  - Utilitzant les **llibreries ''phpmailer''**: amb aquesta llibreria podem enviar mitjançant un servidor extern (caldran credencials).+  - Utilitzant la [[https://github.com/PHPMailer/PHPMailer|biblioteca PHPMailer]]: amb aquesta llibreria podem enviar mitjançant un servidor extern (caldran credencials).
  
 \\ \\
  
-=== Opció 1: Servidor local === +==== Opció 1: des d'un servidor ===
-És important que tinguem obert el port 25 de sortida. Tots els servidors de Cloud ho estan limitant per evitar spammers, i cal demanar un permís especial perquè funcioni.+En aquesta modalitat enviarem l'email des de la mateixa màquina on s'està executant el PHP. Ens caldrà un programari de MTA com Postfix. Podeu llegir mes teoria sobre [[correu electrònic]] en aquesta wiki. 
 + 
 +És important que tinguem obert el port 25 de sortida. Tots els servidors de Cloud ho estan limitant per evitar //spammers//, i cal demanar un permís especial perquè funcioni (habitualment al servei de suport mitjançant ticket).
  
 Si disposem d'aquest servidor resulta relativament senzill. Si disposem d'aquest servidor resulta relativament senzill.
Línia 491: Línia 491:
 \\ \\
  
-=== Opció 2: PHPMailer lib === +==== Opció 2: PHPMailer lib ==== 
-Amb aquesta llibreria podem enviar mitjançant un servidor extern (caldran credencials).+Amb la [[https://github.com/PHPMailer/PHPMailer|biblioteca de codi PHPMailer]] podem enviar mitjançant un servidor extern (caldran credencials).
  
-  * [[https://netcorecloud.com/tutorials/send-an-email-via-gmail-smtp-server-using-php/|Enviar emails utilitzant SMTP Gmail amb PHP]]. No fer cas de la secció "less secure apps", i llegir apartat següent. +  - **Utilitza les "contrasenyes d'aplicació" de Gmail**: no es pot fer servir la contrasenya "normal" del compte Gmail per enviar emails via SMTP des d'una app com la nostra en PHP. Cal crear una "App Password"
- +    - Entrar al compte de Gmail, "configuració del compte" -> secció "Seguretat"
-<WRAP important> +    - Activar el doble factor d'autenticació (2FA). 
-**Utilitza les "contrasenyes d'aplicació" de Gmail**: no es pot fer servir la contrasenya "normal" del compte Gmail per enviar emails via SMTP des d'una app com la nostra en PHP. Cal crear una "App Password"+    - Anar a la secció "Contrasenyes d'Aplicació" (o similar) i crear-ne una. Fes servir la casella de cerca si no veus la opció. 
-  - Entrar al compte de Gmail, configuració del compte i anar a la secció "Seguretat"+  - Instal·lar el [[https://getcomposer.org/download/|gestor de paquets composer per a PHP]]
-  - Activar el doble factor d'autenticació (2FA). +    * Si estàs en GNU/Linux es recomana instal·lar l'arxiu ''composer'' a la carpeta ''~/bin''
-  - Anar a la secció "Contrasenyes d'Aplicació" (o similar) i crear-ne una. Fes servir la casella de cerca si no veus la opció. +  - Seguir la [[https://github.com/PHPMailer/PHPMailer|documentació de PHPMailer]] per enviar un email (secció "A Simple Example").
-  - Utilitzar aquesta amb la biblioteca PHPMailer com a SMTP //password//. +
-</WRAP>+
  
  
 <WRAP todo> <WRAP todo>
-Utilitza el tutorial indicat més amunt per enviar un email. Fes un formulari que permeti ajustar destinatari, títol i contingut del missatge.+Fes un formulari que permeti enviar un email ajustant destinatari, títol i contingut del missatge.
  
-Per carregar les llibreries al vostre codi cal canviar els ''require'' que hi ha per: +Recorda emprar la [[https://github.com/PHPMailer/PHPMailer|doc oficial de PHPMailer]] i la contrasenya d'aplicació de Gmail (no la contrasenya normal).
-  require "vendor/autoload.php";+
  
 </WRAP> </WRAP>
php.1737502391.txt.gz · Darrera modificació: 2025/01/21 23:33 per enric_mieza_sanchez