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