Hace casi un año escribí estos scripts para probar los métodos de autenticación en el servidor de correo que estaba instalando en ese momento. La idea es crear un fichero de configuración con los datos de usuario y los métodos que se desean probar. Así, de forma fácil y rápida se puede verificar si la autenticación mediante “PLAIN”, “LOGIN”, “CRAM-MD5”, etc…
He publicado el código en git en la siguiente dirección: https://github.com/gabrielperezs/Authentications-tools-for-mail-servers
Funciona de la siguiente forma, es muy simple:
Se crea un fichero con la configuración, como este, lo llamamos example.conf:
1 2 3 4 5 6 7 | # Account to test username=test@mydomain.com password=the_account_password server=mail.example.org #auth=auto auth=manual authtype=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 |
Se puede indicar el parámetro “auth” como “auto” para que el script detecte automáticamente los métodos de autenticación disponibles. Si se indica como “manual” (tal como el ejemplo) permite indicar los métodos de autenticación que se quiera o los scripts de perl soporten. Depende de los módulos de perl que estén instalados en el sistema.
Cuando se ejecuta se verá algo así:
1 2 3 4 5 | $ perl imap-test.pl ~/example.conf PLAIN -> mail.example.org (test@mydomain.com): OK - SSL OK LOGIN -> mail.example.org (test@mydomain.com): OK - SSL OK CRAM-MD5 -> mail.example.org (test@mydomain.com): ERROR - SSL ERROR DIGEST-MD5 -> mail.example.org (test@mydomain.com): ERROR - SSL ERROR |
Esto indica que los métodos de autenticación PLAIN, y LOGIN funcionan correctamente. Tanto con como sin SSL. Y los métodos CRAM-MD5 y DIGEST-MD5 no funcionan.
Los otros dos scripts (smtp-test.pl, pop3-test.pl) funcionan exactamente igual.