Bueno por si alguien llega aquí igual que yo, aquí está cómo resolver el tema
En primer lugar, muchas gracias a océano que estuvo asesorándome desde el principio hasta prácticamente el final de este asunto
En segundo lugar, lo que pretendía hacer eran dos cosas:
1) que pudiera enviar correos desde mi servidor a través de la cuenta @midominio que me dan gratuitamente al contratar el dominio
2) que mis CMS's usaran ese mismo "recorrido" para enviar correos
Vamos allá
Entiendo que ya tenéis el servidor LAMP funcionando y os falta el servidor de correo. Yo opté por postfix
Para instalarlo: apt-get install postfix Contestais a las preguntas que os hace el instalador y listo. Ahora vamos a configurarlo:
nano /etc/postfix/main.cf y añadimos lo siguiente (si no lo tenéis):
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
relayhost = [mail.tudominio]:587
# Habilitamos la autenticación SASL para el cliente SMTP
smtp_sasl_auth_enable = yes
# Especificamos los metodos de seguridad para la autenticación
# del cliente SMTP
smtp_sasl_security_options = noanonymous
# Especificamos el archivo de mapas donde se encuentra la información
# para autenticarse al servidor mail.dominioexterno.com.
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# El cliente smtp se autentica al servidor relay usando TLS (STARTTLS)
smtp_use_tls = yes
# No permitimos metodo de autenticación anonima para el cliente smtp/tls
smtp_sasl_tls_security_options = noanonymous
#Para que no llegue el nombre del servidor
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Os he marcado en negrita lo que tenéis que sustituir con vuestros datos, el resto igual
Ahora vamos a configurar los datos de conexión con nuestro correo. Para ello:
nano /etc/postfix/sasl_passwd este archivo está vacío, vamos a crearlo nosotros con los siguientes datos:
[mail.tudominio.com]: 587 tumail%tudominio.com: tupassword
(OJO! importante cambiar la "@" de tu correo por "%")
Cerramos guardamos y listo. Ahora hay que convertir ese archivo en base de datos, para eso pon:
postmap /etc/postfix/sasl_passwd
Reiniciamos postfix /etc/init.d/postfix restart y ya debería funcionarnos. Lo probamos:
mail (correo al que vamos a mandar la prueba), rellenamos Subject, contenido y para enviarlo pulsamos CTRL+D
miramos el log del correo para ver si se nos ha enviado correctamente: tail /var/log/mail.log
Si no hay ningún problema debería enviar el mail sin problemas. No obstante, ahora nos pasan dos cosas:
1) probablemente el correo llegue a la carpeta spam del mail al que lo hemos enviado
2) el remitente es el nombre de nuestro servidor, no el
correo@tudominio.es a través del cual lo hemos mandado
Vamos a solucionarlo
escribimos en terminal nano /etc/postfix/sender_canonical es un archivo en blanco que vamos a crear nosotros con lo siguiente:
usuario
correo@tudominio.com
Usuario es el usuario con el que estes ejecutando postfix roor, www-data, uno que te hayas creado tú, etc. y el correo el mismo que hemos configurado anteriormente en sasl_passwd
Guardamos el archivo y convertimos en base de datos:
postmap /etc/postfix/sender_canonical
Con esto, ya está solucionado el asunto del remitente en los correos que mandas
Ahora para el asunto del spam, vete a tu manager ovh del dominio, a la zona DNS y pulsa para ver tu zona en formato texto. Copia todas las entradas referentes a tu correo: MX, mail, smtp y te vas a tu gestor en tu servidor (en mi caso era webmin) a la parte de servidor BIND e introduces esos mismo datos que has copiado en la zona correspondiente a tu dominio.
En un rato gmail y los demás correos dejarán de considerarte como spam
Pues listo! Ya debería estar funcionando el asunto. El único problema que puedes tener siguiendo estos pasos es el tema de los permisos en los archivos: sasl_passwd y sender_canonical, si has tenido errores mira a ver que permisos tienen. Para ello: ls -l /etc/postfix
De igual forma los permisos de los archivos sasl_passwd.db y sender_canonical.db debes ponerlos en 644
Ahora, si quieres que tus CMS's usen esto que has configurado es tan fácil como editar vuestro archivo php.ini
nano /etc/php5/apache2/php.ini buscamos la línea en la que pone sendmail_path (para linux en mi caso)
Y colocamos: /usr/sbin/sendmail -t -i -f
correo@tudominio.com
Reiniciamos apache y listo!
Lo único que me queda por resolver es que en el remitente del correo que envío aparece el nombre de mi usuario en el servidor (aunque aparece mi correo correctamente) queda algo así: www-data
Por lo demás, espero que a alguien le sirva esto de ayuda Seguro que puede hacerse de otra forma o mejor, pero esto es lo que he podido hacer yo jejejeje
Muchas gracias de nuevo a Océano por su ayuda