Postfix y SquirrelMail · 19 min read · Jan 29, 2026
Usuarios Virtuales Y Dominios Con Postfix, Courier, MySQL Y SquirrelMail (Ubuntu 13.10) - Página 2
11 Notificaciones de Exceso de Cuota
Si deseas recibir notificaciones sobre todas las cuentas de correo electrónico que están sobre la cuota, entonces crea el archivo /usr/local/sbin/quota_notify:
cd /usr/local/sbin/
vi quota_notify| #!/usr/bin/perl -w # Autor <[email protected]> # # Este script asume que virtual_mailbox_base está definido # en el archivo main.cf de postfix. Este directorio se asume que contiene # directorios que a su vez contienen los maildirs de tus usuarios virtuales. # Por ejemplo: # # -----------/ # | # | # home/vmail/domains/ # | | # | | # example.com/ foo.com/ # | # | # ----------------- # | | | # | | | # user1/ user2/ user3/ # | # | # maildirsize # use strict; my $POSTFIX_CF = "/etc/postfix/main.cf"; my $MAILPROG = "/usr/sbin/sendmail -t"; my $WARNPERCENT = 80; my @POSTMASTERS = ('[email protected]'); my $CONAME = 'Mi Empresa'; my $COADDR = '[email protected]'; my $SUADDR = '[email protected]'; my $MAIL_REPORT = 1; my $MAIL_WARNING = 1; #get virtual mailbox base from postfix config open(PCF, "< $POSTFIX_CF") or die $!; my $mboxBase; while ( |
Asegúrate de ajustar las variables en la parte superior (especialmente la dirección de correo electrónico [email protected]).
Debemos hacer que el archivo sea ejecutable:
chmod 755 quota_notifyEjecuta
crontab -epara crear un trabajo cron para ese script:
| 0 0 * * * /usr/local/sbin/quota_notify &> /dev/null |
12 Probar Postfix
Para ver si Postfix está listo para SMTP-AUTH y TLS, ejecuta
telnet localhost 25Después de haber establecido la conexión con tu servidor de correo Postfix, escribe
ehlo localhostSi ves las líneas
250-STARTTLSy
250-AUTH PLAIN LOGINtodo está bien:
root@server1:/usr/local/sbin# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
220 server1.example.com ESMTP Postfix (Ubuntu)
<– ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
<– quit
221 2.0.0 Bye
Connection closed by foreign host.
root@server1:/usr/local/sbin#
Escribe
quitpara volver a la shell del sistema.
13 Población de la Base de Datos y Prueba
Para poblar la base de datos, puedes usar la consola de MySQL:
mysql -u root -pUSE mail;Al menos debes crear entradas en las tablas domains y users:
INSERT INTO `domains` (`domain`) VALUES ('example.com');
INSERT INTO `users` (`email`, `password`, `quota`) VALUES ('[email protected]', ENCRYPT('secret'), 10485760);(¡Por favor, asegúrate de usar la sintaxis ENCRYPT en la segunda declaración INSERT para encriptar la contraseña!)
Si deseas hacer entradas en las otras dos tablas, eso se vería así:
INSERT INTO `forwardings` (`source`, `destination`) VALUES ('[email protected]', '[email protected]');
INSERT INTO `transport` (`domain`, `transport`) VALUES ('example.com', 'smtp:mail.example.com');Para salir de la consola de MySQL, escribe
quit;Para la mayoría de las personas es más fácil si tienen una interfaz gráfica para MySQL; por lo tanto, también puedes usar phpMyAdmin (en este ejemplo bajo http://192.168.0.100/phpmyadmin/ o http://server1.example.com/phpmyadmin/) para administrar la base de datos mail. Nuevamente, cuando crees un usuario, asegúrate de usar la función ENCRYPT para encriptar la contraseña:

No creo que tenga que explicar más la tabla de dominios y usuarios.
La tabla de reenvíos puede tener entradas como las siguientes:
| source | destination | |
| [email protected] | [email protected] | Redirige correos electrónicos de [email protected] a [email protected] |
| @example.com | [email protected] | Crea una cuenta Catch-All para [email protected]. Todos los correos electrónicos a example.com llegarán a [email protected], excepto aquellos que existan en la tabla de usuarios (es decir, si [email protected] existe en la tabla de usuarios, los correos a [email protected] aún llegarán a [email protected]). |
| @example.com | @anotherdomain.tld | Esto redirige todos los correos electrónicos a example.com al mismo usuario en anotherdomain.tld. Por ejemplo, los correos a [email protected] serán reenviados a [email protected]. |
| [email protected] | [email protected], [email protected] | Reenvía correos electrónicos de [email protected] a dos o más direcciones de correo electrónico. Todas las direcciones de correo electrónico listadas bajo destino reciben una copia del correo electrónico. |
La tabla de transporte puede tener entradas como estas:
| domain | transport | |
| example.com | : | Entrega correos electrónicos para example.com localmente. Esto es como si este registro no existiera en esta tabla en absoluto. |
| example.com | smtp:mail.anotherdomain.tld | Entrega todos los correos electrónicos para example.com a través de smtp al servidor mail.anotherdomain.com. |
| example.com | smtp:mail.anotherdomain.tld:2025 | Entrega todos los correos electrónicos para example.com a través de smtp al servidor mail.anotherdomain.com, pero en el puerto 2025, no 25 que es el puerto predeterminado para smtp. |
| example.com | smtp:[1.2.3.4]
smtp:[1.2.3.4]:2025
smtp:[mail.anotherdomain.tld] | Los corchetes cuadrados evitan que Postfix realice búsquedas del registro MX DNS para la dirección entre corchetes. Tiene sentido para direcciones IP. | | .example.com | smtp:mail.anotherdomain.tld | El correo para cualquier subdominio de example.com se entrega a mail.anotherdomain.tld. | | * | smtp:mail.anotherdomain.tld | Todos los correos electrónicos se entregan a mail.anotherdomain.tld. | | [email protected] | smtp:mail.anotherdomain.tld | Los correos para [email protected] se entregan a mail.anotherdomain.tld. |
Consulta
man transportpara más detalles.
Ten en cuenta que el orden de las entradas en la tabla de transporte es importante. ¡Las entradas se seguirán desde la parte superior hasta la parte inferior!
Importante: Postfix utiliza un mecanismo de caché para los transportes, por lo tanto, puede tardar un tiempo hasta que los cambios en la tabla de transporte surtan efecto. Si deseas que surtan efecto de inmediato, ejecuta
postfix reloaddespues de haber realizado tus cambios en la tabla de transporte.
14 Enviar Un Correo Electrónico de Bienvenida Para Crear Maildir
Cuando creas una nueva cuenta de correo electrónico y tratas de obtener correos de ella (con POP3/IMAP) probablemente recibirás mensajes de error diciendo que el Maildir no existe. El Maildir se crea automáticamente cuando llega el primer correo para la nueva cuenta. Por lo tanto, es una buena idea enviar un correo electrónico de bienvenida a una nueva cuenta.
Primero, instalamos el paquete mailx:
apt-get install mailutilsPara enviar un correo electrónico de bienvenida a [email protected], hacemos esto:
mailx [email protected]Se te pedirá el asunto. Escribe el asunto (por ejemplo, Bienvenido), luego presiona ENTER, y en la siguiente línea escribe tu mensaje. Cuando el mensaje esté terminado, presiona ENTER nuevamente para que estés en una nueva línea, luego presiona CTRL+D; si no deseas enviar una copia del correo, presiona ENTER nuevamente:
root@server1:/usr/local/sbin# mailx [email protected]
Cc: <– ENTER
Subject: Bienvenido <– ENTER
¡Bienvenido! Diviértete con tu nueva cuenta de correo. <– ENTER
<– CTRL+D
root@server1:/usr/local/sbin#
Nota : Por favor, no agregues un transporte y un buzón para la misma dirección. 15 Instalación de SquirrelMail
SquirrelMail es una interfaz de webmail que permitirá a tus usuarios enviar y recibir correos electrónicos en un navegador. Este capítulo muestra cómo instalarlo y ajustarlo a nuestra configuración para que los usuarios incluso puedan cambiar la contraseña de su cuenta de correo desde la interfaz de SquirrelMail.
Para instalar SquirrelMail, ejecutamos:
apt-get install squirrelmail squirrelmail-compatibility php-pear php-dbA continuación, creamos un enlace simbólico de la configuración de Apache que viene con el paquete SquirrelMail al directorio /etc/apache2/conf-available y reiniciamos Apache:
ln -s /etc/squirrelmail/apache.conf /etc/apache2/conf-available/squirrelmail.conf
/etc/init.d/apache2 restartSquirrelMail viene con algunos complementos preinstalados, desafortunadamente ninguno de ellos es capaz de permitirnos cambiar nuestra contraseña de correo electrónico en nuestra base de datos MySQL. Pero hay un complemento llamado Change SQL Password que podemos instalar manualmente:
cd /usr/share/squirrelmail/plugins
wget http://www.squirrelmail.org/plugins/change_sqlpass-3.3-1.2.tar.gz
tar xvfz change_sqlpass-3.3-1.2.tar.gz
cd change_sqlpass
cp config.php.sample config.phpAhora debemos editar config.php y ajustarlo a nuestra configuración. Por favor, ajusta las variables $csp_dsn, $lookup_password_query, $password_update_queries, $password_encryption, $csp_salt_static y $csp_delimiter de la siguiente manera y comenta $csp_salt_query:
vi config.php| [...] $csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail'; [...] $lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4'; [...] $password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"'); [...] $password_encryption = 'MYSQLENCRYPT'; [...] $csp_salt_static = 'LEFT(password, 2)'; [...] //$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"'; [...] $csp_delimiter = '@'; [...] |
El archivo completo se ve como sigue:
| * 2002-2005 Paul Lesneiwski <[email protected]> * Este programa está licenciado bajo GPL. Ver COPYING para detalles * * @package plugins * @subpackage Change SQL Password * */ // Variables Globales, no toques estas a menos que quieras romper el complemento // global $csp_dsn, $password_update_queries, $lookup_password_query, $force_change_password_check_query, $password_encryption, $csp_salt_query, $csp_salt_static, $csp_secure_port, $csp_non_standard_http_port, $csp_delimiter, $csp_debug, $min_password_length, $max_password_length, $include_digit_in_password, $include_uppercase_letter_in_password, $include_lowercase_letter_in_password, $include_nonalphanumeric_in_password; // csp_dsn // // Teóricamente, cualquier base de datos SQL soportada por Pear debería ser soportada // aquí. El DSN (nombre de fuente de datos) debe contener la información necesaria // para conectarse a tu backend de base de datos. Un ejemplo de MySQL se incluye a continuación. // Para más detalles sobre la sintaxis del DSN y la lista de tipos de bases de datos soportados, // consulta: // http://pear.php.net/manual/en/package.database.db.intro-dsn.php // //$csp_dsn = 'mysql://user:password@localhost/email_users'; $csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail'; // lookup_password_query // // Este complemento siempre verificará la antigua contraseña del usuario // contra su contraseña de inicio de sesión, pero también se puede hacer una verificación adicional // contra la base de datos para mayor seguridad si lo deseas. Si no necesitas la verificación adicional, // asegúrate de que esta configuración esté vacía. // // Esta es una consulta que devuelve un valor positivo si un usuario // y un par de contraseñas se encuentran en la base de datos. // // Esta consulta debería devolver un valor (una fila, una columna), el // valor siendo idealmente un uno o un cero, simplemente indicando que // el par usuario/contraseña existe en la base de datos. // // %1 en esta consulta será reemplazado por el nombre de usuario completo // (incluyendo dominio), como "[email protected]" // %2 en esta consulta será reemplazado por el nombre de usuario (sin // ninguna porción de dominio), como "jose" // %3 en esta consulta será reemplazado por el nombre de dominio, // como "example.com" // %4 en esta consulta será reemplazado por la contraseña actual (antigua) // en cualquier formato de encriptación que se necesite según otras // configuraciones del complemento (Ten en cuenta que la sintaxis de // la contraseña se proporcionará dependiendo de tus elecciones de encriptación, // por lo que NUNCA necesitas proporcionar comillas alrededor de este // valor en la consulta aquí.) // %5 en esta consulta será reemplazado por la contraseña actual (antigua) // en texto plano sin encriptar. Si no usas ninguna // encriptación de contraseña, %4 y %5 serán los mismos valores, // excepto que %4 tendrá comillas dobles alrededor y %5 no. // //$lookup_password_query = ''; // SEGURIDAD TERRIBLE: $lookup_password_query = 'SELECT count(*) FROM users WHERE username = "%1" AND plain_password = "%5"'; //$lookup_password_query = 'SELECT count(*) FROM users WHERE username = "%1" AND crypt_password = %4'; $lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4'; // password_update_queries // // Un array de consultas SQL que se ejecutarán // cada vez que se intente cambiar la contraseña. // // Cualquier número de consultas puede ser incluido aquí. // Las consultas se ejecutarán en el orden dado aquí. // // %1 en todas las consultas será reemplazado por el nombre de usuario completo // (incluyendo dominio), como "[email protected]" // %2 en todas las consultas será reemplazado por el nombre de usuario (sin // ninguna porción de dominio), como "jose" // %3 en todas las consultas será reemplazado por el nombre de dominio, // como "example.com" // %4 en todas las consultas será reemplazado por la nueva contraseña // en cualquier formato de encriptación que se necesite según otras // configuraciones del complemento (Ten en cuenta que la sintaxis de // la contraseña se proporcionará dependiendo de tus // elecciones de encriptación, por lo que NUNCA necesitas proporcionar comillas // alrededor de este valor en las consultas aquí.) // %5 en todas las consultas será reemplazado por la nueva contraseña // en texto plano sin encriptar - ¡CUIDADO! Si no usas // ninguna encriptación de contraseña, %4 y %5 serán los mismos // valores, excepto que %4 tendrá comillas dobles alrededor // y %5 no. // //$password_update_queries = array( // 'UPDATE users SET crypt_password = %4 WHERE username = "%1"', // 'UPDATE user_flags SET force_change_pwd = 0 WHERE username = "%1"', // 'UPDATE users SET crypt_password = %4, force_change_pwd = 0 WHERE username = "%1"', // ); $password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"'); // force_change_password_check_query // // Una consulta que verifica un flag que indica si un usuario // debe ser forzado a cambiar su contraseña. Esta consulta // debería devolver un valor (una fila, una columna) que // es cero si el usuario NO necesita cambiar su contraseña, // o uno si el usuario debe ser forzado a cambiarla ahora. // // Esta configuración debería ser una cadena vacía si no deseas // habilitar esta funcionalidad. // // %1 en esta consulta será reemplazado por el nombre de usuario completo // (incluyendo dominio), como "[email protected]" // %2 en esta consulta será reemplazado por el nombre de usuario (sin // ninguna porción de dominio), como "jose" // %3 en esta consulta será reemplazado por el nombre de dominio, // como "example.com" // //$force_change_password_check_query = 'SELECT IF(force_change_pwd = "yes", 1, 0) FROM users WHERE username = "%1"'; //$force_change_password_check_query = 'SELECT force_change_pwd FROM users WHERE username = "%1"'; $force_change_password_check_query = ''; // password_encryption // // ¿Qué método de encriptación usas para almacenar contraseñas // en tu base de datos? Por favor, usa uno de los siguientes, // exactamente como lo ves: // // NONE Las contraseñas se almacenan solo como texto plano // MYSQLPWD Las contraseñas se almacenan usando la función password() de MySQL // MYSQLENCRYPT Las contraseñas se almacenan usando la función encrypt() de MySQL // PHPCRYPT Las contraseñas se almacenan usando la función crypt() de PHP // MD5CRYPT Las contraseñas se almacenan usando el algoritmo MD5 encriptado // MD5 Las contraseñas se almacenan como hash MD5 // //$password_encryption = 'MYSQLPWD'; $password_encryption = 'MYSQLENCRYPT'; // csp_salt_query // csp_salt_static // // Los tipos de encriptación que necesitan una sal necesitan saber de dónde obtener // esa sal. Si tienes un valor de sal constante y conocido, deberías // definirlo en $csp_salt_static. De lo contrario, deja ese // valor vacío y define un valor para $csp_salt_query. // // Deja ambos valores vacíos si no necesitas (o usas) sales // para encriptar tus contraseñas. // // La consulta debería devolver un valor (una fila, una columna) que // es el valor de sal para la contraseña del usuario actual. Esta // consulta se ignora si $csp_salt_static es cualquier cosa que no sea vacía. // // %1 en esta consulta será reemplazado por el nombre de usuario completo // (incluyendo dominio), como "[email protected]" // %2 en esta consulta será reemplazado por el nombre de usuario (sin // ninguna porción de dominio), como "jose" // %3 en esta consulta será reemplazado por el nombre de dominio, // como "example.com" // //$csp_salt_static = 'LEFT(crypt_password, 2)'; //$csp_salt_static = '"a4"'; // usa este formato con MYSQLENCRYPT //$csp_salt_static = '$2$blowsomefish$'; // usa este formato con PHPCRYPT //$csp_salt_static = ''; $csp_salt_static = 'LEFT(password, 2)'; //$csp_salt_query = 'SELECT SUBSTRING_INDEX(crypt_password, '$', 1) FROM users WHERE username = "%1"'; //$csp_salt_query = 'SELECT SUBSTRING(crypt_password, (LENGTH(SUBSTRING_INDEX(crypt_password, '$', 2)) + 2)) FROM users WHERE username = "%1"'; //$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"'; //$csp_salt_query = ''; // csp_secure_port // // Puedes asegurarte de que se use encriptación SSL durante el cambio de contraseña // estableciendo esto al puerto en el que se sirve tu HTTPS // (443 es típico). Establece en cero si no deseas forzar // una conexión HTTPS cuando los usuarios cambian sus contraseñas. // // Puedes anular este valor para ciertos dominios, usuarios o // niveles de servicio a través del complemento de Inicio de Sesión de Host Virtual (vlogin) // estableciendo un valor para $vlogin_csp_secure_port en la configuración de vlogin. // $csp_secure_port = 0; //$csp_secure_port = 443; // csp_non_standard_http_port // // Si sirves solicitudes web HTTP estándar en un puerto no estándar // (cualquier cosa que no sea el puerto 80), deberías especificar ese // número de puerto aquí. Establece en cero de lo contrario. // // Puedes anular este valor para ciertos dominios, usuarios o // niveles de servicio a través del complemento de Inicio de Sesión de Host Virtual (vlogin) // estableciendo un valor para $vlogin_csp_non_standard_http_port // en la configuración de vlogin. // //$csp_non_standard_http_port = 8080; $csp_non_standard_http_port = 0; // min_password_length // max_password_length // include_digit_in_password // include_uppercase_letter_in_password // include_lowercase_letter_in_password // include_nonalphanumeric_in_password // // Puedes establecer las longitudes mínimas y máximas de contraseña que // aceptas o dejar esas configuraciones en cero para indicar que // no se debe aplicar ningún límite. // // Activa cualquiera de las otras configuraciones aquí para verificar que la // nueva contraseña contenga al menos un dígito, letra mayúscula, // letra minúscula y/o un carácter no alfanumérico. // $min_password_length = 6; $max_password_length = 0; $include_digit_in_password = 0; $include_uppercase_letter_in_password = 0; $include_lowercase_letter_in_password = 0; $include_nonalphanumeric_in_password = 0; // csp_delimiter // // si tu sistema tiene nombres de usuario con algo diferente a // un signo "@" separando la porción de usuario y dominio, // especifica ese carácter aquí // //$csp_delimiter = '|'; $csp_delimiter = '@'; // modo de depuración // $csp_debug = 0; ?> |
Ahora debemos ir a la configuración de SquirrelMail y decirle a SquirrelMail que usamos Courier como nuestro servidor POP3 e IMAP y habilitar los complementos Change SQL Password y Compatibility:
/usr/sbin/squirrelmail-configureVerás el siguiente menú. Navega a través de él como se indica:
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Menú Principal –
1. Preferencias de Organización
2. Configuraciones del Servidor
3. Valores Predeterminados de Carpeta
4. Opciones Generales
5. Temas
6. Libros de Direcciones
7. Mensaje del Día (MOTD)
8. Complementos
9. Base de Datos
10. Idiomas
D. Establecer configuraciones predefinidas para servidores IMAP específicos
C Activar color
S Guardar datos
Q Salir
Comando >> <– D
Configuración de SquirrelMail : Leer: config.php
Mientras hemos estado construyendo SquirrelMail, hemos descubierto algunas
preferencias que funcionan mejor con algunos servidores que no funcionan tan
bien con otros. Si seleccionas tu servidor IMAP, esta opción ajustará
algunas configuraciones predefinidas para ese servidor.
Por favor, ten en cuenta que aún necesitarás revisar y asegurarte
de que todo es correcto. Esto no cambia todo. Solo hay
algunas pocas configuraciones que esto cambiará.
Por favor, selecciona tu servidor IMAP:
bincimap = Servidor IMAP Binc
courier = Servidor IMAP Courier
cyrus = Servidor IMAP Cyrus
dovecot = Servidor IMAP Seguro Dovecot
exchange = Servidor IMAP Microsoft Exchange
hmailserver = hMailServer
macosx = Servidor de Correo Mac OS X
mercury32 = Mercury/32
uw = Servidor IMAP de la Universidad de Washington
gmail = Acceso IMAP a cuentas de correo de Google (Gmail)
salir = No cambiar nada
Comando >> <– courier
imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Papelera
sent_folder = Enviados
draft_folder = Borradores
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true
Presiona enter para continuar… <– presiona ENTER
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Menú Principal –
1. Preferencias de Organización
2. Configuraciones del Servidor
3. Valores Predeterminados de Carpeta
4. Opciones Generales
5. Temas
6. Libros de Direcciones
7. Mensaje del Día (MOTD)
8. Complementos
9. Base de Datos
10. Idiomas
D. Establecer configuraciones predefinidas para servidores IMAP específicos
C Activar color
S Guardar datos
Q Salir
Comando >> <– 8
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Complementos
Complementos Instalados
1. view_as_html
Complementos Disponibles:
2. administrator
3. bug_report
4. calendar
5. change_sqlpass
6. compatibility
7. delete_move_next
8. demo
9. filters
10. fortune
11. info
12. listcommands
13. mail_fetch
14. message_details
15. newmail
16. sent_subfolders
17. spamcop
18. squirrelspell
19. test
20. translate
R Regresar al Menú Principal
C Activar color
S Guardar datos
Q Salir
Comando >> <– 6 (o cualquier número que tenga el complemento de compatibilidad - es necesario para el complemento change_sqlpass)
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Complementos
Complementos Instalados
1. view_as_html
2. compatibility
Complementos Disponibles:
3. administrator
4. bug_report
5. calendar
6. change_sqlpass
7. delete_move_next
8. demo
9. filters
10. fortune
11. info
12. listcommands
13. mail_fetch
14. message_details
15. newmail
16. sent_subfolders
17. spamcop
18. squirrelspell
19. test
20. translate
R Regresar al Menú Principal
C Activar color
S Guardar datos
Q Salir
Comando >> <– 6 (el número del complemento change_sqlpass)
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Complementos
Complementos Instalados
1. view_as_html
2. compatibility
3. change_sqlpass
Complementos Disponibles:
4. administrator
5. bug_report
6. calendar
7. delete_move_next
8. demo
9. filters
10. fortune
11. info
12. listcommands
13. mail_fetch
14. message_details
15. newmail
16. sent_subfolders
17. spamcop
18. squirrelspell
19. test
20. translate
R Regresar al Menú Principal
C Activar color
S Guardar datos
Q Salir
Comando >> <– S
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Complementos
Complementos Instalados
1. view_as_html
2. compatibility
3. change_sqlpass
Complementos Disponibles:
4. administrator
5. bug_report
6. calendar
7. delete_move_next
8. demo
9. filters
10. fortune
11. info
12. listcommands
13. mail_fetch
14. message_details
15. newmail
16. sent_subfolders
17. spamcop
18. squirrelspell
19. test
20. translate
R Regresar al Menú Principal
C Activar color
S Guardar datos
Q Salir
Comando >> S
Datos guardados en config.php
Presiona enter para continuar… <– presiona ENTER
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Complementos
Complementos Instalados
1. view_as_html
2. compatibility
3. change_sqlpass
Complementos Disponibles:
4. administrator
5. bug_report
6. calendar
7. delete_move_next
8. demo
9. filters
10. fortune
11. info
12. listcommands
13. mail_fetch
14. message_details
15. newmail
16. sent_subfolders
17. spamcop
18. squirrelspell
19. test
20. translate
R Regresar al Menú Principal
C Activar color
S Guardar datos
Q Salir
Comando >> <– Q
Ahora necesitamos habilitar SquirrelMail de la siguiente manera:
a2enconf squirrelmail
service apache2 reloadAhora puedes escribir en http://server1.example.com/squirrelmail o http://192.168.0.100/squirrelmail en tu navegador para acceder a SquirrelMail.
Inicia sesión con tu dirección de correo electrónico (por ejemplo, [email protected]) y tu contraseña:

Deberías encontrar el correo electrónico de bienvenida en tu bandeja de entrada:


Para cambiar tu contraseña, ve a Opciones y luego selecciona Cambiar Contraseña:
Escribe tu contraseña actual y luego tu nueva contraseña dos veces:

Si la contraseña ha sido cambiada con éxito, verás el siguiente mensaje de error que significa que debes iniciar sesión nuevamente con tu nueva contraseña (porque la antigua ya no está activa):

17 Referencias
- Tutorial: Servicio de Correo Electrónico estilo ISP con Debian-Sarge y Postfix 2.1: http://workaround.org/articles/ispmail-sarge/
- Postfix + Cuota: http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&forum=17
- Contraseñas de Correo Encriptadas usando saslauthd: http://www.syscp.de/docs/public/contrib/cryptedmailpws
18 Enlaces
- Postfix MTA: http://www.postfix.org/
- Parche de Cuota de Postfix: http://web.onda.com.br/nadal/
- phpMyAdmin: http://www.phpmyadmin.net/
- SquirrelMail: http://www.squirrelmail.org/
- Ubuntu: http://www.ubuntu.com/
- Interfaz de Administración de Correo Virtual (VMA): http://code.google.com/p/vma/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.