6 métodos:Descargar SendmailConfigura SendmailConfigurar SendmailConstruir la tabla de usuario de Sendmail Agrega tus nombres de dominio con Sendmail Probar tu archivo de configuración

Para configurar el manejo de tu correo electrónico después de registrar un dominio puedes utilizar Sendmail, el cual es un software de Unix/Linux para que se encargue de ello. No es un Agente Usuario de Correo (MUA, por sus siglas en inglés) como los programas de correo electrónico que conoces. Sendmail es un Agente de Transferencia de Correo (MTA, por sus siglas en inglés). Es solamente un programa de entrega. Los proveedores de red utilizan Sendmail para entregar el correo a los usuarios locales o a otras redes.

Anuncio

Método 1 de 6: Descargar Sendmail

  1. 1
    Baja Sendmail[1]. Aparecerá un mensaje inicial corto que indica la versión actual. Estas instrucciones asumen la versión 8.10.0 o posterior.
    Anuncio
  2. 2
    Instala y construye Sendmail en tu computadora. La mayoría de los casos, esto consiste en descomprimir la distribución, leer los archivos de README y sendmail/README, y teclear "Build" en el directorio de Sendmail. Lee el archivo de instalación (INSTALL) en el directorio de distribución de alto nivel para revisar los detalles.
    Anuncio

Método 2 de 6: Configura Sendmail

  1. 1
    Sendmail utiliza información para el Sistema de Nombre de Dominio (DNS) para determinar a cual buzón corresponde la dirección de IP.
  2. 2
    Escoge un nombre de dominio disponible. En nuestro ejemplo, utilizaremos yourdomain.com.
  3. 3
    Configura tu servidor DNS. Establece dos máquinas, como nombres de servidor primario y secundario para tu dominio. Asumimos que sabes hacer esto; de otra manera lee un libro acerca del tema, como los libros de O'Reilly "DNS con BIND", 4ta edición, la cual es muy recomendable. Familiarízate con BIND antes de continuar.
  4. 4
    Configura los registros MX para tu dominio (Nota: los registros CNAME no pueden ser usados; ve § 5.2.2 de RFC 1123 para más detalles.) Los registros MX están cubiertos en el libro de Sendmail de O'Reilly; la segunda edición da un vistazo general a § 15.3 y describe cómo configurarlas en § 21.3, y la tercera edición explica todo acerca de ello en § 9.3. Tienes dos opciones para los registros MX:
  5. 5
    Método para determinar tu conexión:
    • Si el servidor del correo que sirve como el dominio nuevo tiene una conexión de tiempo completo a internet, debe ser el alojamiento MX primario de tu dominio. En esta configuración, tu registro MX se verá así:
      • yourdomain.com. IN MX 10 yourmailserver.yourdomain.com.
    • De otra manera, necesitarás encontrar otra máquina que ponga en cola tu correo cuando no estás conectado. Asegúrate de tener la aprobación del dueño de la máquina primero. Esa máquina debe estar configurada para permitir la retransmisión a tu dominio. Si está ejecutando Sendmail, esto puede ser tan simple como agregar tu dominio a los archivos de relay-domains o dominios de retransmisión en esa máquina. Entonces dirigirás tus registros MX a esa máquina. Por ejemplo:
    • yourdomain.com. IN MX 10 yourmailserver.yourdomain.com.
    • yourdomain.com. IN MX 20 othermailserver.otherdomain.com.

  6. 6
    Ahora los servidores de nombres están configurados, registra tu dominio utilizando uno de los registros. Cuanto te registres, informa el registro de dos de los servidores de nombres, y luego el dominio apuntará a tu servidor.
    Anuncio

Método 3 de 6: Configurar Sendmail

  1. 1
    Lee el archivo cf/README completamente. Te dará instrucciones de cómo crear un archivo .mc en el directorio cf/cf. Tu archivo mailserver.mc se verá típicamente como:
    • divert(-1)dnl
    • #
    • # Este archivo contiene las definiciones globales para yourdomain.com
    • #
    • divert(0)dnl
    • VERSIONID(`@(#)mailserver.mc 1.0 (yourdomain.com) 5/1/97')
    • OSTYPE(solaris2)dnl
    • DOMAIN(yourdomain.com)dnl
    • FEATURE(`virtusertable', `dbm /etc/mail/virtusertable')dnl
    • MAILER(local)dnl
    • MAILER(smtp)dnl

    • Tu OS real se sustituirá por solaris2.
  2. 2
    Un archivo cf/domain/yourdomain.com.m4 típico que se ve como:
    • divert(-1)dnl
    • #
    • # Este archivo contiene las definiciones globales para yourdomain.com
    • #
    • divert(0)dnl
    • VERSIONID(`@(#)yourdomain.com.m4 1.0 (yourdomain.com) 5/1/97')
    • FEATURE(`use_cw_file')dnl
  3. 3
    Puede tener otras características() y definiciones() también. La tabla de usuario virtual es una clave para todo esto.
  4. 4
    Genera tu archivo /etc/mail/sendmail.cf de tu archivo mailserver.mc, y escribe:
    • cd sendmail-VERSION/cf/cf
    • /Build mailserver.cf
    • cp mailserver.cf /etc/mail/sendmail.cf
  5. 5
    Crea la tabla de usuario virtual. Esto se explica a detalle en el libro de Sendmail: § 19.6.28 de la 2da edición, o § 4.8.51 de la 3era; aquí se da una revisión general. La tabla es una base de datos que asigna las direcciones virtuales a direcciones reales. Tú creas un archivo de texto donde cada línea tiene un par de claves/valores, separados por un TAB. Por ejemplo:
    • Ejemplo 1:
      • joe@yourdomain.com jschmoe
      • jane@yourdomain.com jdoe@othercompany.com
      • @yourdomain.com jschmoe
        • En este primer ejemplo, la dirección joe@yourdomain.com se asignará al usuario local jschmoe; jane@yourdomain.com se asignará al usuario remoto jdoe@othercompany.com, y cualquier otra cosa a yourdomain.com también va a jschmoe.

    • Ejemplo 2:
      • joe@yourdomain.com jschmoe%3
      • bogus@yourdomain.com &npsp; error:nouser No existe tal usuario
      • list@yourdomain.com yourdomain-list
      • @yourdomain.com %1@othercompany.com
        • En este segundo ejemplo, la dirección joe@yourdomain.com se asignará al usuario local jschmoe%3 (ve la nota 3 abajo para una explicación de que significa el %3), la dirección bogus@yourdomain.com regresará el error indicado, la dirección list@yourdomain.com se asignará al usuario local yourdomain-list (el cual puede usar un archivo alias para resolver) y otro usuario en yourdomain.com se asignará a un usuario remoto del mismo nombre en othercompany.com.
  6. 6
    Si tienes un usuario local, digamos sam, y no hay una clave para sam@yourdomain.com y tampoco una clave general para @yourdomain.com, entonces Sendmail caerá de nuevo al usuario local "sam" cuando resuelva sam@yourdomain.com. Para prevenir esto, debes usar una clave que atrape todo o una clave explícita para sam@yourdomain.com; el ejemplo error:nouser arriba puede ser utilizado aquí.
  7. 7
    Si quieres que una dirección virtual resuelva más de una dirección real, necesitarás hacerlo indirectamente. Haz que la dirección virtual resuelva a un alias local, entonces haz que ese alias local resuelva el conjunto de direcciones deseadas. Por ejemplo, en la tabla de usuarios virtuales:
    • joe@yourdomain.com localjoe

      entonces en el archivo de los alias será:
    • localjoe: joe@othercompany.com, jane@othercompany.com
    • En el ejemplo de arriba:
      • joe@yourdomain.com jschmoe%3
  8. 8
    El %3 es la preservación de la parte +detail opcional de la dirección original. En general, +detail significa que cuando Sendmail obtiene una dirección como user+detail@domain, entonces el dominio está en clase w (ve el paso 7 abajo), sendmail revisa para ver si user+detail puede ser resuelto, luego determina si es un usuario normal o no. Por lo tanto:
    • joe@yourdomain.com
    • joe+foo@yourdomain.com
    • joe+reallylongextrapart@yourdomain.com

      deben coincidir con la entrada de arriba, con %3 preservando la parte +detail de nada, +foo y +reallylongextrapart respectivamente.
    • Se permiten múltiples dominios, y las direcciones virtuales en cada dominio como independientes. Por ejemplo, puedes tener:
      • joe@yourdomain1.com localjoe
      • joe@yourdomain2.com joe@othercompany.com
      • joe@yourdomain3.com localjoe
      • joe@yourdomain4.com error:nouser No existe tal usuario
  9. 9
    Para las personas que administran múltiples dominios. Para estas personas puede ser más sencillo tener las listas de dominios en un archivo separado, y escribir una secuencia de comandos corta para concatenar todos los archivos juntos en una tabla maestra de usuarios virtuales. Pero ese sería el siguiente paso.
    Anuncio

Método 4 de 6: Construir la tabla de usuario de Sendmail

  1. 1
    Construye la tabla de usuario virtual. Si el texto de la tabla de usuario virtual está en sourcefile, y estás utilizando el tipo dbm database, entonces usa el comando:
    • makemap dbm /etc/mail/virtusertable < sourcefile
    • Nota: si construiste Sendmail con NEWDB en lugar de NDBM, entonces usa el hash en lugar de dbm en la línea superior.
    • Esto crea uno o más de los archivos sin texto (normalmente /etc/mail/virtusertable.dir y /etc/mail/virtusertable.pag, o /etc/mail/virtusertable.db), pero no cambia /etc/mail/virtusertable como tal, por lo que está es la ubicación recomendada para sourcefile.
    • Si deseas invertir-asignar a los usuarios locales para el correo fuera de límite, necesitarás agregar soporte para la tabla genérica a tu archivo .mc:
      • FEATURE(`genericstable', `dbm /etc/mail/genericstable')dnl
      • GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
    • Y necesitarás crear /etc/mail/genericstable el cual es como /etc/mail/virtusertable a excepción de que las columnas están invertidas:
      • jschmoe joe@yourdomain.com
    Anuncio

Método 5 de 6: Agrega tus nombres de dominio con Sendmail

  1. 1
    Agrega cada nuevo nombre de dominio a la clase de sendmail w. Esto se realiza normalmente al agregar una línea a /etc/mail/local-host-names (conocido como /etc/sendmail.cw anterior a la versión 8.10) con el valor de cada nombre de dominio. De la misma manera, si utilizas la tablagenérica, puedes agregar cualquier dominio que desees revertir o asignar a /etc/mail/generics-domains.
  2. 2
    Reinicia o SIGHUP sendmail.
  3. 3
    No necesitas reiniciar sendmail cuando cambies el usuario virtual o las tablas genéricas, solamente cuando cambias/etc/mail/sendmail.cf o los archivos de clase como /etc/mail/local-host-names.
    • Se requiere un paso extra para los host que no están conectados todo el tiempo. Como se mencionó en la sección de configuración de MX, si utilizas otro host para dejar en cola tu correo hasta que te conectes, tendrás que forzar la entrega del correo en cola al servidor de correo secundario. Para lograr esto, cuando se conecte tu servidor primario, debes ejecutar la secuencia de comandos etrn.pl el cual viene en el directorio de contrib de la distribución de sendmail:
      • etrn.pl secondary-mx-host yourdomain.com
      • Puede ser recomendable poner esto al final de la secuencia de comandos de inicio de Sendmail de cualquier MX primario. Debe ser especialmente útil como seguimiento de cualquier secuencia de comandos que inicie la conexión en MX primario sin conexiones de tiempo completo.
      • En este punto, ya debe estar configurado, y las personas pueden enviar correos electrónicos a las direcciones de@yourdomain.com.
    Anuncio

Método 6 de 6: Probar tu archivo de configuración

  1. 1
    Prueba tu configuración y asegúrate de que todo funcione como esperado antes de anunciar el nuevo nombre del dominio y las direcciones de correo para ese dominio. Si las cosas no funcionan como esperado, puedes usar el modo de prueba de Sendmail:
    • sendmail -bt
    • Aquí hay algunos ejemplos de cosas para intentar en el modo de prueba (asegúrate de que el dominio esté en clase w:):
      • $=w
      • # is the map working?
      • /map virtuser joe@yourdomain.com
      • /map virtuser jane@yourdomain.com
      • /map virtuser @yourdomain.com
      • is the rewriting working? #** ,0 joe@yourdomain.com #** ,0 some@yourdomain.com
    Anuncio

Consejos

  • Lo que hace Sendmail:
    • Escucha en los puertos de red para el correo.
    • Clasifica el correo y lo entrega localmente o externamente a otros servidores.
    • Anexa el correo electrónico a los archivos o a través de otros programas.
    • Pone el correo en cola (si la entrega no es inmediata).
    • Convierte las direcciones de correo electrónico a los nombres de usuario, o maneja listas de correo.
    • Lee reglas de manejo especial para correo, por lo que puede atrapar el spam, o revisar si es correcto.
  • Si construiste Sendmail con NEWDB en lugar de NDBM, tendrás que usar una función hash en lugar de dbm en la línea superior.
Anuncio

Referencias


Acerca del artículo

Categorías: Computadoras y electrónica