Como configurar Apache JAMES mailserver en 5 minutos

 

Queremos postear esta info ya que nos resulto muy util y gracias a ella pudimos instalar un mailserver basado en java en 5 minutos

JAMES 2.1

Toni dlF. Díaz (25/09/2003).

toni@blyx.com

He escrito este pequeño manual para que no se me olvide como instalar y

configurar “el Jaime” el servidor de correo basado en Java 2 que forma parte

de la Apache Software Fundation. El James es un MTA y POP bastante fácil de

instalar y configurar, digamos que nos puede sacar alguna que otra vez de un

apuro, le queda todavía mucho camino por recorrer pienso yo pero tiene muy

buena pinta.

INSTALACION Y CONFIGURACIÓN

Desgargar el James 2.1 de

http://ftp.epix.net/apache/jakarta/james/binaries/james-2.1.tar.gz este paquete

es el binario.

Descargar j2re-1.4.2 de la web de JAVA.SUN.COM e instalar.

El James que hemos descargado es binario y no necesita instalación,

simplemente hay que descomprimir y desempaquetar el paquete james-

2.1.tar.gz en el directorio donde queramos tenerlo instalado.

# cd james-2.1/bin

# chmod +x run.sh

# chmod +x phoenix.sh

# export JAVA_HOME=/usr/java/j2re1.4.2_01/

Arrancamos el servidor:

# james-2.1/bin/run.sh

Using PHOENIX_HOME: /home/toni/download/james-estructura/james-2.1

Using PHOENIX_TMPDIR: /home/toni/download/james-estructura/james-

2.1/temp

Using JAVA_HOME: /usr/java/j2re1.4.2_01/

Running Phoenix:

Phoenix 4.0.1

James 2.1

Remote Manager Service started plain:4555

POP3 Service started plain:110

SMTP Service started plain:25

NNTP Service Disabled

Fetch POP Disabled

Administración de usuarios con el RemoteManager:

# telnet localhost 4555

Trying 127.0.0.1…

Connected to localhost.

Escape character is ‘^]’.

JAMES Remote Administration Tool 2.1

Please enter your login and password

Login id:

root

Password:

root

Welcome root. HELP for a list of commands

adduser usuario contraseña

User usuario added

help

Currently implemented commands:

help display this help

listusers display existing accounts

countusers display the number of existing accounts

adduser [username] [password] add a new user

verify [username] verify if specified user exist

deluser [username] delete existing user

setpassword [username] [password] sets a user’s password

setalias [alias] [user] locally forwards all email for ‘alias’ to ‘user’

unsetalias [alias] unsets an alias

setforwarding [username] [emailaddress] forwards a user’s email to another

email address

unsetforwarding [username] removes a forward

user [repositoryname] change to another user repository

shutdown kills the current JVM (convenient when

James is run as a daemon)

quit close connection

Para cambiar el usuario y la contraseña del RemoteManager ver el archivo de

configuración general:

james-2.1/apps/james/SAR-INF/config.xml

Ubicación por defecto de los buzones de usuarios:

james-2.1/apps/james/var/mail/inboxes/usuario

Ubicación por defacto de los logs:

james-2.1/apps/james/logs

Configuración del Antirelay:

Editar el archivo james-2.1/apps/james/SAR-INF/config.xml y el parámetro se

llama RemoteAddrNotInNetwork, ejemplo:

RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*

OPCIONES EN EL ARCHIVO DE CONFIGURACIÓN config.xml

-Multidominio:

El servidor permite multidominio pero no real, el uid debe ser único entre

todos los dominios,

de hecho el buzon solo es el uid, no tiene nunca en cuenta el dominio.

Se añaden los dominios en la línea 49 de la siguiente forma:

<servername>localhost</servername>

<servername>vodafone.es</servername>

<servername>airtel.es</servername>

<servername>blyx.com</servername>

Para añadir el soporte multidominio real hay que programar la API del

James, por defecto no lo soporta.

-Enrutamiento y rutas de correo:

James nos permite enrutar todo el correo saliente por un MTA en

concreto. Se hace descomentando las lineas 252 y 253:

<gateway>10.101.250.120</gateway>

<gatewayPort>25</gatewayPort>

En el ejemplo anterior indico que todo el correo saliente lo entregue a la

máquina 10.101.250.120 en el puerto 25.

-Antirelay:

El filtro Antirelay se configura en la línea 219 de la siquiente manera:

<mailet match=”RemoteAddrNotInNetwork=127.0.0.1,10.10.21.*”

class=”ToProcessor”>

<processor>spam</processor>

</mailet>

En el ejemplo anterior se hace relay de correo para localhost y para la

red 10.10.21.0

-SMTP Autenticado:

Para configurar SMTP AUTH debemos:

1-comentar las líneas del antirelay que hemos citado

anteriormente

2-Descomentar y cambiar la linea

<authRequired>false</authRequired> a true.

3-Descomentar y cambiar la linea

<verifyIdentity>false</verifyIdentity> a true.

4-Reiniciar James.

-James con un usuario diferente a ROOT:

Para ejecutar James con un usuario diferente a root, solo hay que

exportar la variable JAVA_HOME con el usuario que queramos y asegurarnos

que los directorios y archivos son de su propiedad o almenos tiene permisos de

escritura en los logs, buzones, etc. Si la primera vez se ha arrancado James

como root deberíamos cambiar los permisos si luego pasa a ser de un usuario

ya que la primera vez crea los directorios e incluso los archivos de

configuración. (# chown -R usuario:grupo jamesdir/)

-Como hacer que escuche un una IP determinada:

Simpremente hay que añadir <bind>10.10.21.246</bind> dentro de la

sección del servicio/protocolo que estemos configurando.

-Modificación del Banner:

En la versión compilada no se puede, probablemente en la versión con

los fuentes se pueda tocar en algún archivo para modificar esto.

-Limitar el tamaño máximo de los mensajes:

Para limitar el tamaño máximo de los mensajes sólo hay que modificar la

línea 408:

<maxmessagesize>0</maxmessagesize>

El valor 0 es tamaño indefinido, yo recomiendo poner 5120 que son 5Mb

pero este valor será en función del tipo de servicio que se quiera dar.

-Modificar el numero de saltos entre MTAs:

Para indicar el máximo de saltos entre servidores de correo (para evitar

bucles) se modifica la línea 126:

<mailet match=”RelayLimit=30″ class=”Null” />

-Forward del correo de root:

<mailet match=”RecipientIs=root@localhost” class=”Forward”>

<forwardto> green@blue.org </forwardto> <forwardto> red@yellow.com

</forwardto>

</mailet>

-Servidor DNS:

En principio hay que indicarle un servidor DNS al James en la línea 308

de lo contrario tomará como DNS a localhost:

<dnsserver>

<servers>

<server>10.10.21.247</server>

</servers>

<authoritative>false</authoritative>

</dnsserver>

-En caso de utilizar James como backend para optimizar la salida de correo es

recomendable desabilitar los filtros Anti SPAM ya que consulta via DNS a los

servidores RBL y tarda aproximadamente 115 segundos en sacar cada correo:

<!–

<mailet match=”InSpammerBlacklist=blackholes.mail-abuse.org”

class=”ToProcessor”>

<processor> spam </processor>

<notice> Rejected – see http://www.mail-abuse.org/rbl/ </notice>

</mailet>

<mailet match=”InSpammerBlacklist=dialups.mail-abuse.org”

class=”ToProcessor”>

<processor> spam </processor>

<notice> Dialup – see http://www.mail-abuse.org/dul/ </notice>

</mailet>

<mailet match=”InSpammerBlacklist=relays.mail-abuse.org”

class=”ToProcessor”>

<processor> spam </processor>

<notice> Open spam relay – see http://www.mail-abuse.org/rss/

</notice>

</mailet>

–>

No se si este manual servirá a alguien para algo pero aqui queda.

Toni dlF. Díaz

toni@blyx.com

Copia, modifica o traduce este manual si quieres pero indica su procedencia.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: