OVH Community, your new community space.

Pregunta tonta SMTP


oceano
15/04/2013, 08:23
Hola Nolo, buenos días !


Me alegra mucho haberte podido ayudar y saber que por fin está funcionando correctamente. Seguro ayudará a alguna persona más adelante !

Un cordial saludo.

nolo
14/04/2013, 20:46
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

oceano
06/04/2013, 16:43
Hola Nolo,

* Escríbeme cuándo quieras, te respondo cuándo pueda ! jejejeje

Por cierto, la entrada MX es para el envío de correo, si no la tienes casi seguro que sea por esto.

P.D. * Es coña !



Un saludo !

nolo
06/04/2013, 14:21
Buenas Oceano, gracias por el interés, en serio

Ya he abierto mi correo, escríbeme en cuando puedas He estado tocando el /etc/postfix/transport y cómo he estado más cerca de lograrlo es usando smtp[ssl0.ovh.net]: 465

También he probado con otros puertos 587, 995 y otras direcciones como ns0.ovh.net... Pero me suele dar connection time out... empiezo a sospechar que es un problema de la zona DNS de mi manager OVH... Ahora que recuerdo, eliminé una entrada (no sé si era MX o A) que apuntaba a ssl0.ovh.net y midominio.com porque me producía un error cuando intentaba acceder a mi server usando la dirección sin las www y me llevaba al acceso del webmail, en lugar de al index del server.

¿Podría ser eso?

En fin, si puedes lo hablamos por email

Gracias de nuevo

oceano
06/04/2013, 11:21
Hola Nolo,

Si abres tu correo te escribo y lo comentamos !

Ánimo y suerte !!

Un saludo !

nolo
06/04/2013, 11:13
Gracias Oceano

Utilizo ubuntu porque es con el que estoy más familiarizado Voy a probar con el manual y a ver si consigo echar a andar esto

Si tengo alguna duda puntual te escribo al mail y si lo consigo entro en este hilo y explico como hacerlo paso a paso

Gracias de nuevo

oceano
06/04/2013, 08:13
Hola Nolo, buenos días.

Pues la verdad es que con Ubuntu no estoy muy familiarizado, si me hablaras de Debian o CentOS si podría ayudarte más, pero con ésta plataforma ando un tanto perdido. Utilizas Ubuntu por algún motivo en especial ? Has pensado a pasarte a Debian o CentOS ? Hay mucha más información al respecto, son los más habitualmente utilizados y bueno, los fallos son más comentados.

De todos modos, he estado mirando un manual de Ubuntu y no dista mucho de lo que te comenté anteriormente. Te paso el enlace, échale un vistazo tú mismo y verás de lo que te hablaba, quizá aquí puedas llegar a tener la solución, no debería estar lejos...

Has mirado el log de mail de webmin ?

Yo estuve 2 ó 3 días hasta que lo hice funcionar, ten paciencia que al final cae.

Ubuntu: http://manpages.ubuntu.com/manpages/...ansport.5.html

Por cierto, el email lo dejé abierto en el perfil.


Un saludo !

nolo
06/04/2013, 03:01
Hola oceano ¿dónde me has puesto la dirección para escribirte? no he visto nada :|

Bueno al lío. Estoy desesperado (lo mismo es la hora tb :P) a ver he puesto lo que me decías (aunque he cambiado algunas cosas porque la ruta no era la de misma en ubuntu 12.10) pero me sigue dando errores extraños... concretamente address resolver failure... que intuyo tiene algo que ver con que no tenga ningún archivo "transport" en /etc/postfix

¿debería tenerlo? porqué no me aparece???

En fin, a ver si sabes en que la he cagao :P

De nuevo mil gracias

oceano
05/04/2013, 20:07
Hola Nolo,

* prueba ahora !

Hola de nuevo, te he puesto 2 veces la dirección para que escribieras. De todas formas, te falta configurar la parte del transporte que no he visto que la pusieras.

#SMTP Transport
transport_maps = hash:/etc/postfix/transport
inet_interfaces = 127.0.0.1
sample_directory = /usr/share/doc/postfix-2.x.x/samples # revisa la ruta que tienes
html_directory = no
setgid_group = postdrop
program_directory = /usr/libexec/postfix
command_directory = /usr/sbin
manpage_directory = /usr/share/man
daemon_directory = /usr/libexec/postfix
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
queue_directory = /var/spool/postfix
mail_owner = postfix
data_directory = /var/lib/postfix
message_size_limit = 102400000
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 20

#SMTP Restrictions
smtpd_client_restrictions = permit_mynetworks, reject_invalid_hostname, reject_rbl_client zen.spamhaus.org, reject_unknown_client, permit
smtpd_helo_restrictions = permit_mynetworks, check_helo_access hash:/etc/postfix/helo_access, reject_unauth_pipelining, reject_non_fqdn_hostname, reject_invalid_hostname, warn_if_reject reject_unknown_hostname, permit
smtpd_recipient_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_non_fqdn_hostname, reject_invalid_hostname, permit_mynetworks, reject_unauth_pipelining, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, reject_unknown_client, permit
smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unknown_address, permit
smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce, permit

---------------------------------------------
# dentro de /etc/postfix/transport
gmail.com gmail: # por ejemplo

---------------------------------------------
# dentro de /etc/postfix/master.cf revisamos que tenemos ésta línea activa
smtp unix - - n - - smtp

---------------------------------------------

Te falta configurar /etc/postfix/master.cf, pero revisando la línea anterior debería de funcionarte.

Si tienes Webmin instalado, revisa el archivo de log del correo y te indicará donde falla.

* No olvides realizar un service postfix reload o si prefieres un service postfix restart al terminar los cambios

Un saludo !

nolo
05/04/2013, 20:01
He creado un alias en webmin del tipo address apuntando a correo@midomino.com y he probado pero nada, sigue sin funcionar

He tratado de mandarte un privado, pero no me aparecía opción ninguna para hacerlo :S

Aquí te dejo el contenido de mi fichero main

Main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_security_level = may
smtpd_tls_cert_file=/etc/ssl/certs/correo@midominio.crt
smtpd_tls_key_file=/etc/ssl/private/correo@midominio.key
smtpd_tls_loglevel = 1
smtpd_use_tls=yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
tls_random_source = dev:/dev/urandom
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = ksxxxxx.kimsufi.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = midominio@.com , ksxxxxxx.kimsufi.com, localhost.kimsufi.com, localhost
relayhost =
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 = +


Gracias de nuevo

nolo
05/04/2013, 18:57
Jajajajaja, Lo del dinero en cualquier caso me lo pedirías tú a mi por la ayuda jajajajaja

En cuanto lo resuelva, posteo los pasos en este mismo hilo

Es que ahora estoy ayudando a un amigo a hacerse un wordpress y no puedo probar. En cuanto lo haga, te escribo

Mil gracias de nuevo

oceano
05/04/2013, 18:40
Hola Nolo,

Si me vas a pedir dinero No, si luego posteas los resultados Si

Escríbeme un correo y lo vemos !

Un saludo !

nolo
05/04/2013, 18:28
Ahhh! Vale, perdona por mi torpeza xDD

Voy a crear un alias, pruebo y si sigue sin funcionarme ¿te importa que te escriba un privado?

Mil gracias de nuevo

oceano
05/04/2013, 18:07
Hola Nolo,

Qué configuración has puesto dentro de postfix/main y master ?

Debes crear un aliases para enviarlos correos y asociar una dirección


Un saludo !

nolo
05/04/2013, 17:30
Buenas Oceano, he probado lo que me dices, pero nada.... connection time out al probar desde consola haciendo mail a una dirección de correo

Lo único que he cambiado ha sido las direcciones que me indicabas por seguridad. Y no he creado aliases en webmin.

Alguna idea de porqué no me funciona?

Gracias de nuevo

nolo
05/04/2013, 16:50
Muchas gracias Oceano por la información detallada Voy a probar y te cuento

Ya tengo webmin instalado (es de lo primero que hice en el server jejejeje) pero la verdad no me veía capaz de configurar el tema del smtp por ahí tampoco xDDD

Gracias de nuevo voy a probar ahora mismo

PD: Litez, yo es que estoy con linux. Pero gracías de todos modos

oceano
05/04/2013, 16:30
Hola Nolo,

1.- Debes generar un certificado ssl para que tus correos vayan cifrados

# openssl req -x509 -nodes -days 1365 -newkey rsa:2048 -keyout /etc/pki/tls/private/direccion@correo.com.key -out /etc/pki/tls/certs/direccion@correo.com.crt

2.- Debes configurar el archivo /etc/postfix/main.cf y /etc/master.cf posteriormente a tu gusto.

vi /etc/postfix/main.cf

smtpd_tls_security_level = may
smtpd_tls_key_file = /etc/pki/tls/private/direccion@correo.com.key # esta ruta la puedes modificar por seguridad a tu gusto.
smtpd_tls_cert_file = /etc/pki/tls/certs/direccion@correo.com.crt # esta ruta la puedes modificar por seguridad a tu gusto.
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
tls_random_source = dev:/dev/urandom
smtpd_tls_auth_only = yes

sigue la configuración

.
.
.

Yo si fuera tú también instalaría Webmin y desde ahí todo es más sencillo de administrar, pero la configuración la realizaría por consola.
http://www.webmin.com/rpm.html

Desde aquí dentro puedes configurar los aliases para enviar correo con una cuenta, desde tu server al exterior.

Y si lo que haces es utilizar un CMS incrustado en tu servidor y quieres enviar correos, te recomiendo http://mailchimp.com/ podrás enviar correos hasta cierta cantidad gratuitamente pudiendo crear tus propias plantillas de envio.

Espero haberte podido ayudar !

Un saludo !

litez
05/04/2013, 16:20
¿Con Phpmailer? yo es que soy mas de windows y cualquier cliente de correo deberia funcionar pero no se mas porque no lo he probado.

nolo
05/04/2013, 15:56
Perdona mi ignorancia litez, ya había visto eso en Zona DNS, junto con varias entradas más

pero, ¿como envío un correo desde mi servidor usando esos datos?

Mil gracias por la respuesta

litez
05/04/2013, 15:51
En zona DNS te pone:

smtp.tudominio.com CNAME ns0.ovh.net

Con eso y creo que con los datos de la cuenta de postmaster puedes empezar a hacer pruebas.

Luego, como bien dice kennysamuerto create otra, ya que ahi te llegaran errores y otros correos que no te gustaria tener.

Ah, creo que el limite de mensajes a enviar a traves de Ovh es de 500 al dia.

nolo
05/04/2013, 15:35
Buenas Kennysamuerto, gracias por responder

A ver, en principio no hay problema, puedo crear otra cuenta en el registrador (el único interés por usar una cuenta del registrador es que los correos que salgan de mi servidor lleguen desde una cuenta @midominio, sin tener que crear cuentas en mi servidor, alias virtuales y toda la pesca. En realidad sólo necesito una cuenta @midominio que envíe mails desde mi servidor me da igual cual )

Tengo el dominio y el servidor dedicado aquí en OVH. Los MX se me configuran automaticamente apuntando a sus DNS. El problema es que no sé como usar, por ejemplo postfix, para que envíe automaticamente los correos de mi servidor conectándose a ellos. He probado varios tutos pero me da error y los correos no llegan

¿Alguna idea?

Gracias por tu respuesta

kennysamuerto
05/04/2013, 15:04
A ver, porque quizas no lo he entendido bien.

Pero quieres usar una direccion que tienes creada en el registrador. Imagino que para que ese correo funcione, tendras que tener las DNS apuntadas a unas determinadas que el registrador te da, sino, no funcionara (al menos, los MX). O si la cuenta la tienes en el dedicado, tendras el dominio apuntando a el.

Idependientemente de ello, yo nunca recomendaria usar una direccion que suele usar el sistema (postmaster, root...) ya que de forma habitual, si no lo cambias, los alias de errores de correos te llegaran a postmaster.

Por lo que lo ideal es que crees una cuenta independiente para el envio de correos.

Luego la salida de correos por CMS suelen salir por PHP Mail, configurar el SMTP es cosa tuya si lo quieres o no. Eso si, necesitaras evidentemente un servidor de correo.

Ya el que uses tambien depende de lo que tu consideres mejor, a unos les gusta qmail, a otros postfix, a otros exim... esto es como los colores.

Saludos

nolo
05/04/2013, 13:31
Sí. Con el dominio te dan posibilidad de correo @tudominio y por defecto tienes creado postmaster@tudominio

Los CMS no usan cuenta smtp para enviar correo??? como lo hacen entonces? Si no me equivoco lo hacen vía php y para que funcione necesitan un smtp funcionando o no?

bz2
05/04/2013, 08:48
La mayoría de los CMS no usan una cuenta de SMTP para enviar, aunque es recomendable configurarla.

De todas maneras, cuando dices que tienes una cuenta de correo, ¿dónde? ¿te la ha dado el registrador?

nolo
04/04/2013, 23:21
Bueno esto es una pregunta muy tonta porque lo que quiero hacer es muy simple pero no sé si puede hacerse.

Por tener un dominio y un servidor dedicado tengo una cuenta de correo postmaster@midominio.com.

¿Es posible usar esa misma cuenta para enviar correos desde mi servidor?y que la usen CMS's como wordpress, joomla, etc. para enviar correos?

Evidentemente necesito un SMTP ¿cuál? ¿postfix,qmail,...?

Tengo Ubuntu server 12.10

Gracias de antemano