¿Estas atascado? ¡Yo te ayudo!, pregunta aquí.

Activar la funcion de correo de PHP en Ubuntu.

Todo sobre linux, programas para linux, configuraciones de sistema linux, etc..

Notapor alexiter » Jue Abr 17, 2014 9:33 am

Pues aunque en este foro hay un tutorial de como activar el envio de correos desde php en apache, hay que aclarar que es para la version XAMPP de windows y para el caso de ubuntu no nos vale, no obstante existen dos formas de hacerlo, la facil, pero con el inconveniente de que el correo puede marcarse como correo no deseado y otra algo mas complicada que se basa en usar un servidor de correo externo para los envios (yo por ejemplo he usado el correo del dominio que tengo registrado en 1and1). Es importante instalar solo un sistema y aunque deberia de recomendar el segundo, tras muchas pruebas me quedo con el primero.

El primer sistema:

1º Abrimos consola de comandos y escribimos:

Código: Seleccionar todo
apt-get install sendmail


2ºacabado el primer paso escribimos:

Código: Seleccionar todo
sendmailconfig


Y listo, ya funciona el envio desde PHP.


El segundo sistema:

1º Para empezar vamos a proceder a instalar los paquetes necesarios, para ello escribimos en una consola los siguiente:
Código: Seleccionar todo
aptitude install postfix libsasl2-modules


2º Estos paquetes instalan el servidor de correo y los módulos SASL necesarios para la autenticación.

Durante la instalación de Postfix nos aparece un menú con diferentes opciones, elegimos Sin Configuración, ya que vamos a editar los ficheros de texto manualmente.

Editamos el fichero /etc/postfix/main.cf y lo dejamos tal que así:
Código: Seleccionar todo
myorigin = /etc/mailname
relayhost = smtp.1and1.es
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a “$EXTENSION”
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4


3º Donde los parametros relevantes son relayhost y los concernientes a sasl, ya que nos indican el servidor al que se reenviarán los mails, y que necesita autenticación y el fichero donde se ubicará la autenticación.

Ahora necesitamos crear el fichero /etc/postfix/sasl/passwd, con los datos de acceso de la una cuenta de correo operativa:

Código: Seleccionar todo
smtp.1and1.es servidor@cherinsite.es:contraseña


4º Donde los parámetros son el servidor, la cuenta de correo y la contraseña.

A continuación ejecutamos en la consola:

Código: Seleccionar todo
postmap /etc/postfix/sasl/passwd
chmod 600 /etc/postfix/sasl/passwd
/etc/init.d/postfix restart


5º Con estos comandos lo que hacemos es:

Crear el hash del password en el fichero /etc/postfix/sasl/passwd.db
Modificar los permisos del fichero de password para que sólo el propietario pueda visualizar su contenido
Reiniciar el servidor de correo para que recoja la nueva configuración.
Ahora podemos enviar un mensaje de prueba para comprobar que todo va bien:

Código: Seleccionar todo
echo "Mensaje de Prueba como Relayhost" |mail  -s "Asunto del mensaje" una_direccion@cherinsite.es


6º Si no disponemos del comando mail, podemos instalarlo de la siguiente forma:

Código: Seleccionar todo
aptitude install bsd-mailx


7º Si todo va bien nos llegará el mail a la dirección enviada y podremos ver en los logs algo como esto:

Código: Seleccionar todo
tail -f /var/log/mail.log
Sep 23 14:16:07 servidor postfix/pickup[1261]: 802FE1C0A062: uid=0 from=
Sep 23 14:16:07 servidor postfix/cleanup[1356]: 802FE1C0A062: message-id=<20120923121607.802FE1C0A062@servidor.localdomain>
Sep 23 14:16:07 servidor postfix/qmgr[1262]: 802FE1C0A062: from=, size=361, nrcpt=1 (queue active)
Sep 23 14:16:18 servidor postfix/smtp[1358]: 802FE1C0A062: to=, relay=smtp.1and1.es[212.227.15.158]:25, delay=11, delays=0.14/0.02/11/0.43, <strong>dsn=2.0.0, status=sent</strong> (250 Message 0MNw31-1T8rsr3XuV-007JpY accepted by mrbap0.kundenserver.de)
Sep 23 14:16:18 servidor postfix/qmgr[1262]: 802FE1C0A062: removed


Aquí van algunos comando básicos para postfix:

postfix reload -> Carga la configuración sin detener el servicio
postconf -> Muestra configuración de postfix
mailq -> Para visualizar la cola de mensajes
postfix flush ->Fuerza el envío de mensajes que están en espera
alexiter
Site Admin
 
Mensajes: 149
Registrado: Dom Nov 17, 2013 9:54 pm

Volver a Linux

cron
  • Buscar mensajes nuevos
  • Buscar temas sin respuesta
  • ¿Quién está conectado?
  • En total hay 1 Usuario identificado :: 0 registrado, 0 ocultos y 1 invitado (basados en usuarios activos en los últimos 5 minutos)
  • La mayor cantidad de usuarios identificados fue 619 el Dom May 03, 2020 11:11 pm
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado