GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo hacer que Php envíe un correo?

Instalé Ubuntu 11.04, LAMP usando tasksel.

Encuentro que PHP mail() no funciona.

¿Supongo que necesito habilitarlo o algo así? ¿Cómo hago eso?

Mejor respuesta

Del manual de correo de php:

Requisitos

Para que las funciones de correo estén
disponibles, PHP requiere un sistema de correo electrónico
instalado y en funcionamiento. El programa
a utilizar está definido por los
ajustes de configuración en el archivo php.ini
.

Esto significa que debe instalar algún tipo de servidor de correo y configurar php para usarlo. Por lo general, este servidor de correo es postfix en Ubuntu. Sin embargo, si el lado php que está codificando eventualmente se almacenará en el lado de un servicio de alojamiento (por ejemplo, xmission), lo más probable es que ya esté instalado allí un servidor de correo. En ese caso, simplemente pruebe su sitio en línea en lugar de localmente.

Si necesita probarlo en su propio sistema o tiene la intención de alojarlo en su propio servidor doméstico, continúe con:

Instalación de Postfix

Instalación:posfijo / sudo apt-get install postfix Durante el proceso, se le preguntará en qué modo desea instalar Postfix. Hay cuatro modos posibles:

  • Internet :Su propio servidor de correo.
  • Satélite :Se utilizará un proveedor de correo externo (por ejemplo, Google) para enviar y recibir correo. El servidor no recibirá ningún correo.
  • Host inteligente :Mezcla entre los dos. El correo se almacena localmente pero se envía a través de un proveedor de correo externo.
  • Solo locales :No te concierne. Ese es un servidor de correo interno del sistema. Solo puede enviar correo de usuario a usuario en el sistema.

El resto de las opciones de instalación dependen de su elección de esta configuración general.

Lo más probable es que elija una instalación satelital. Eso significa que el correo se enviará mediante un proveedor externo. Como servidor smtp (servidor de correo saliente), deberá especificar el smtp de su proveedor. El resto de las opciones se explican por sí mismas.

Configuración posterior a la instalación

La mayoría de los servidores smtp requieren una autenticación de contraseña para enviar correo. Así que postfix necesitará saber esa contraseña. También hay cosas como el cifrado a considerar (que tendrás que buscar en Google). Así es como configura Postfix usando la autenticación de contraseña (sasl):

  • Instalar módulos libsasl2 y sasl2-bin haciendo clic en los íconos del Centro de software o desde la terminal usando:

    sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin
    
  • Habilite sasl-auth agregando estas líneas a /etc/postfix/main.cf

     # add to /etc/postfix/main.cf
     smtp_sasl_auth_enable = yes
     smtp_sasl_security_options = noplaintext noanonymous
     smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
    
  • Cree un archivo /etc/postfix/sasl_password con una línea como:

     smtp.gmail.com [email protected]:USERPASSWORD
    

    Sustituya la contraseña, el nombre de usuario y la dirección smtp reales.

  • Actualizar sufijo:

     sudo chmod 600 /etc/postfix/sasl_password # for safety of your smtp password
     sudo postmap hash:/etc/postfix/sasl_password 
     sudo postmap /etc/postfix/sender_canonical
     sudo /etc/init.d/postfix restart   
    

    Es posible que deba eludir el error de "permiso denegado" mediante chown postfix:postfix /etc/postfix de antemano.

Relacionado:¿No puedo instalar el programa gnome en Ubuntu 16.04?

Esto debería hacerlo en la mayoría de los casos. Sin embargo, algunos proveedores de smtp requieren una dirección específica como remitente o encriptación.

Relacionado:la interfaz PEAR::Mail también podría ser de su interés.

Es posible que a Gmail (y quizás a otros servicios) no les guste que intente enviar correo de esta manera, ya que podría considerarse inseguro según sus estándares y bloquearía su intento, es decir, no sucederá nada en la pantalla o algún lugar de todo el proceso bloquearía su autenticación. Además, su POP3 debe estar habilitado.

Para contrarrestar eso ver aquí. (Si quiere estar seguro, cree una cuenta ficticia de Gmail)


Ubuntu
  1. Cómo instalar y configurar Postfix

  2. Cómo instalar y configurar Postfix en Ubuntu 20.04

  3. Ubuntu:¿cómo hacer que Pam_exec ejecute el script como el usuario actual?

  4. ¿Cómo eliminar el subprograma indicador del icono de correo?

  5. ¿Cómo enviar un mensaje Xmpp usando la línea de comandos?

Cómo cambiar el nombre de host en Ubuntu Linux

Cómo instalar el último PHPMyAdmin en Ubuntu 18.04

¿Cómo cambiar la versión de PHP en Plesk?

Cómo cambiar la versión de PHP en cPanel

Cómo cambiar la versión de PHP

Cómo comprobar la versión de PHP en Linux