Toni dlF. Díaz (25/09/2003).
[email protected]
JAMES 2.1
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.*
Se añaden los dominios en la línea 49 de la siguiente forma:
James nos permite enrutar todo el correo saliente por un MTA en
<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
OPCIONES EN EL ARCHIVO DE CONFIGURACIÓN config.xml
-Multidominio:
todos los dominios,
de hecho el buzon solo es el uid, no tiene nunca en cuenta el dominio.
James, por defecto no lo soporta.
-Enrutamiento y rutas de correo:
concreto. Se hace descomentando las lineas 252 y 253:
máquina 10.101.250.120 en el puerto 25.
-Antirelay:
class="ToProcessor">
red 10.10.21.0
-SMTP Autenticado:
<gateway>10.101.250.120</gateway>
<gatewayPort>25</gatewayPort>
Para configurar SMTP AUTH debemos:
El servidor permite multidominio pero no real, el uid debe ser único entre
En el ejemplo anterior indico que todo el correo saliente lo entregue a la
El filtro Antirelay se configura en la línea 219 de la siquiente manera:
<mailet match="RemoteAddrNotInNetwork=127.0.0.1,10.10.21.*"
<processor>spam</processor>
</mailet>
En el ejemplo anterior se hace relay de correo para localhost y para la
1-comentar las líneas del antirelay que hemos citado
2-Descomentar y cambiar la linea
3-Descomentar y cambiar la linea
<maxmessagesize>0</maxmessagesize>
Para ejecutar James con un usuario diferente a root, solo hay que
Simpremente hay que añadir <bind>10.10.21.246</bind> dentro de la
anteriormente
<authRequired>false</authRequired> a true.
<verifyIdentity>false</verifyIdentity> a true.
4-Reiniciar James.
-James con un usuario diferente a ROOT:
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:
sección del servicio/protocolo que estemos configurando.
-Modificación del Banner:
los fuentes se pueda tocar en algún archivo para modificar esto.
-Limitar el tamaño máximo de los mensajes:
línea 408:
pero este valor será en función del tipo de servicio que se quiera dar.
-Modificar el numero de saltos entre MTAs:
bucles) se modifica la línea 126:
En la versión compilada no se puede, probablemente en la versión con
Para limitar el tamaño máximo de los mensajes sólo hay que modificar la
El valor 0 es tamaño indefinido, yo recomiendo poner 5120 que son 5Mb
Para indicar el máximo de saltos entre servidores de correo (para evitar
<mailet match="RelayLimit=30" class="Null" />
<forwardto>
[email protected] </forwardto> <forwardto>
[email protected]
<dnsserver>
<servers>
<server>10.10.21.247</server>
</servers>
<authoritative>false</authoritative>
</dnsserver>
-Forward del correo de root:
<mailet match="RecipientIs=root@localhost" class="Forward">
</forwardto>
</mailet>
-Servidor DNS:
de lo contrario tomará como DNS a localhost:
-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.
En principio hay que indicarle un servidor DNS al James en la línea 308
Toni dlF. Díaz
[email protected]
Copia, modifica o traduce este manual si quieres pero indica su procedencia.
Comentarios de: JAMES 2.1 (0)
No hay comentarios