TOP

Servidor de Correo CentOS 6.3

Introducción.


Un servidor de correo es una aplicación de red ubicada en un servidor en internet, cuya función es parecida al Correo postal tradicional, sólo que en este caso lo que se maneja son los correos electrónicos (a veces llamados mensajes o e-mails), a los que se hace circular a través de redes de transmisión de datos. A diferencia del correo postal, por este medio sólo se pueden enviar como adjuntos, ficheros de cualquier extensión, y no bultos o paquetes o documentación, al viajar la información en formato electrónico.

Instalación.


Tecleamos la siguiente orden.
yum -y install mailx nc dovecot postfix


Accedemos al fichero /etc/dovecot/conf.d/10-mail.conf

gedit /etc/dovecot/conf.d/10-mail.conf &

Descomentamos las siguientes líneas.

mail_location = mbox:~/mail:INBOX=/var/mail/%u

protocols = imap pop3 lmtp
 



Para iniciar el servicio dovecot y mantenerlo arrancado de forma permanente, escribimos en la terminal las siguientes dos líneas.

service dovecot start
chkconfig dovecot on

Escribimos también estas dos líneas en el terminal.

service postfix start
chkconfig postfix on

Para escribir un mail a algun usuario, podemos escribir en la terminal mail usuario, o nc 127.0.0.1 25 escribimos el asunto y el cuerpo del mail. Terminamos con un punto al final del mail.



Si queremos ver nuestra bandeja de entrada desde la terminal, simplemente escribimos mail desde nuestro usuario.




Para leer un mensaje solo tenemos que escribir el número del mensaje deseado.


Prueba del email



Instalamos los siguientes paquetes:

yum -y install postfix dovecot cyrus-sasl cyrus-sasl-plain

Y desinstalamos estas otras:

yum remove cyrus-sasl-gssapi
yum remove cyrus-sasl-md5

Escribimos la siguiente línea para que SElinux nos permita el servicio postfix.

setsebool -P allow_postfix_local_write_mail_spool 1

Acceda al directorio /etc/pki/tls/

cd /etc/pki/tls/

Se crea primero un archivo de parámetros DSA:

openssl dsaparam 1024 -out dsa1024.pem



Creamos el certificado DSA:

openssl req -x509 -nodes -newkey dsa:dsa1024.pem -days 1095 -out certs/smtp.crt -keyout private/smtp.key



Al terminar, ya no será necesario conservar el archivo dsa1024.pem, mismo que puede eliminarse con plena seguridad.

rm -f dsa1024.pem


cambiamos los permisos de acceso de solo lectura para el usuario root:

chmod 400 certs/smtp.crt private/smtp.key


Cambiamos al directorio cd /etc/pki/dovecot/

cd /etc/pki/dovecot/

Eliminamos los certificados de prueba creados durante la instalación.

rm -f private/dovecot.pem certs/dovecot.pem

Escribimos las siguientes líneas para crear otro certificado firmado

openssl req -x509 -nodes -newkey rsa:1024 -days 1095 -out certs/dovecot.pem -keyout private/dovecot.pem
openssl x509 -subject -fingerprint -noout -in certs/dovecot.pem



Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de solo lectura para el usuario root:

chmod 400 private/dovecot.pem certs/dovecot.pem

Regrese al directorio de inicio del usuario root.

cd


Editar el archivo /etc/postfix/master.cf:

gedit /etc/postfix/master.cf &


Descomentamos las siguientes líneas.

submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING



A continuación, en una terminal ponemos todas estas líneas

postconf -e 'myhostname = mail.red20.local'
postconf -e 'mydomain = red20.local'
postconf -e 'myorigin = $mydomain'
postconf -e 'inet_interfaces = all'
postconf -e 'mydestination = $myhostname, $mydomain, localhost.localdomain, localhost'
postconf -e 'mynetworks = 172.16.13.120/16, 127.0.0.0/8'
postconf -e 'relay_domains = $mydestination'
postconf -e 'mailbox_command = /usr/bin/procmail'
postconf -e 'smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt'
postconf -e 'smtpd_tls_key_file = /etc/pki/tls/private/smtp.key'
postconf -e 'smtpd_tls_cert_file = /etc/pki/tls/certs/smtp.crt'
postconf -e 'smtpd_tls_auth_only = no'
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_sasl_authenticated_header = yes'
postconf -e 'smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'

Accedemos al archivo /etc/dovecot/conf.d/10-ssl.conf

gedit /etc/dovecot/conf.d/10-ssl.conf &

Y modificamos las siguientes líneas.

ssl = yes
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem



En una terminal ponemos las siguientes líneas para que arranque desde el sistema e iniciar los servicios.

chkconfig saslauthd on
chkconfig dovecot on
chkconfig postfix on
service saslauthd start
service dovecot start
service postfix restart

Configuración de GNOME Evolution.



Para acceder al cliente de correo Evolution, picamos sobre Aplicaciones -> Oficina -> Correo y calendario Evolution.




Mediante el asistente, le ponemos un nombre significativo a la cuenta, nombre completo y dirección de correo.


En el apartado Recepción de correo, ponemos nuestro nomrbe, y como nombre de nuestro servidor mail.red20.local.


Y en el apartado Envío de correo especificamos SMTP como Tipo de servidor y ponemos como servidor mail.red20.local


6 comentarios:

  1. Anónimo

    Hola,

    He seguido este tutorial pero me sale un error:

    postfix/smtpd[2141]: warning: cannot get RSA private key from file /etc/pki/tls/private/smtp.key: disabling TLS support

    Alguna idea de que puede ser, revise todo varias veces y no encuentro el error

  2. Anónimo

    Olviden lo anterior, era un problema con una palabra mal escrita.


    Gracias

  3. Estaba investigando a ver cual era el error, pero si ya la has descubierto ya no hace falta seguir buscando. La verdad es que CentOS es bastate puñetero con las faltas y con el case sensitive. Espero que te haya sido util el tutorial :)

  4. Yo agarro el siguiente mensaje welcome response error operation now in progress tienes alguna idea de que puede andar mal en mi configuracion

  5. Anónimo

    al realizar la autoprueba conmigo de enviar el mensaje ni siquiera me llega por q sera

  6. Anónimo

    hola el tutorial es muy bueno pero me surge el problema al momento de enviar un correo de prueba a otro usuario no aparece en la bandeja de entrada de evolution pero si confirmo que llega por medio del terminal que sera?????

Publicar un comentario