¿Cómo enviar emails con XAMPP en WordPress y macOS?
Para poder enviar emails con un servidor local XAMPP, desde WordPress o con un script PHP, es necesario instalar PEAR y configurar el archivo PHP.INI.
Con el paquete PEAR Mail, podremos enviar correos electrónicos desde nuestro servidor local XAMPP o utilizando una cuenta SMTP externa (como una cuenta de Gmail).
Con el paquete PEAR Mail, podremos enviar correos electrónicos desde nuestro servidor local XAMPP o utilizando una cuenta SMTP externa (como una cuenta de Gmail).
1. Lo primero es descargar e instalar PEAR.
Abrir un terminal y ejecutar el comando:
curl -O https://pear.php.net/go-pear.phar
Con esto se descargan los archivos necesarios para la instalación.
Ahora instalamos los archivos que acabamos de descargar ejecutando el comando:
sudo php -d detect_unicode=0 go-pear.phar
Se abre el menú de instalación
Elegimos la opción 1: Escribir 1 y presionar Enter
Escribimos la ruta /usr/local/pear y presionamos Enter
Elegimos la opción 4: Escribir 4 y presionar Enter
Escribir la ruta /usr/local/bin y presionar Enter
Instalación completada
Para verificar la instalación:
pear version
Para verificar la ruta de instalación:
pear config-show
Actualizar PEAR:
sudo pear channel-update pear.php.net
Buscar el texto include_path e insertarnos una linea con el código:
Ejemplo del texto en el archivo php.ini
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path
include_path="/usr/local/pear/share/pear" (añadida aquí)
--------------------------------------------------------------------------------
Ahora instalamos los archivos que acabamos de descargar ejecutando el comando:
sudo php -d detect_unicode=0 go-pear.phar
Se abre el menú de instalación
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : /usr
2. Temporary directory for processing : /tmp/pear/install
3. Temporary directory for downloads : /tmp/pear/install
4. Binaries directory : /usr/bin
5. PHP code directory ($php_dir) : /usr/share/pear
6. Documentation directory : /usr/docs
7. Data directory : /usr/data
8. User-modifiable configuration files directory : /usr/cfg
9. Public Web Files directory : /usr/www
10. System manual pages directory : /usr/man
11. Tests directory : /usr/tests
12. Name of configuration file : /private/etc/pear.conf
1-12, 'all' or Enter to continue:
Elegimos la opción 1: Escribir 1 y presionar Enter
Escribimos la ruta /usr/local/pear y presionamos Enter
Elegimos la opción 4: Escribir 4 y presionar Enter
Escribir la ruta /usr/local/bin y presionar Enter
Instalación completada
Ejemplo de comandos útiles
Para verificar la instalación:pear version
Para verificar la ruta de instalación:
pear config-show
Actualizar PEAR:
sudo pear channel-update pear.php.net
2. Modificar el archivo de configuración php.ini
La ruta al archivo es: Aplicaciones/XAMPP/xamppfiles/etc/php.iniBuscar el texto include_path e insertarnos una linea con el código:
include_path="/usr/local/pear/share/pear"
Ejemplo del texto en el archivo php.ini
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path
include_path="/usr/local/pear/share/pear" (añadida aquí)
--------------------------------------------------------------------------------
3. Reiniciar el servidor Apache desde el manager-osx de XAMPP
4. Seguir las instrucciones del FAQ de XAMPP
Cree el siguiente script de ejemplo en su directorio "htdocs" para enviar un correo electrónico:
?>
require_once "Mail.php";$ from = "your-gmail-username@gmail.com";$ to = 'destinatarios@ejemplo.com';$ host = "ssl: //smtp.gmail.com";$ puerto = "465";$ username = 'your-gmail-username@gmail.com';$ contraseña = 'tu-contraseña de gmail';$ subject = "prueba";$ body = "prueba";$ headers = array ('From' => $ from, 'To' => $ to, 'Subject' => $ subject);$ smtp = Mail :: factory ('smtp',array ('host' => $ host,'port' => $ puerto,'auth' => verdadero,'username' => $ username,'contraseña' => $ contraseña));$ mail = $ smtp-> send ($ a, $ encabezados, $ cuerpo);if (PEAR :: isError ($ mail)) {echo ($ correo-> getMessage ());} más {echo ("Mensaje enviado con éxito! \ n");}?>
Recuerde reemplazar los valores ficticios que se muestran con su dirección de Gmail y contraseña de cuenta reales. Si no planea utilizar el servidor SMTP de Gmail, reemplace los detalles del host SMTP con los valores apropiados para su organización o el servidor SMTP del ISP.
Ejecute el script navegando hacia él usando su navegador web. Debería ver una notificación de que el mensaje se envió correctamente, y el mensaje se debe entregar a la dirección de correo electrónico del destinatario.