вторник, 14 октября 2014 г.

Тестируем почтовый сервер

  1. Тестируем логин POP3
    telnet 127.0.0.1 110
    user test
    pass testpassword
    UIDL
    
  2. Тестируем логин IMAP
    telnet 127.0.0.1 143
    1 LOGIN test testpassword
    1 SELECT INBOX
    
  3. Тестируем SMTP без авторизации
    telnet 127.0.0.1 25
    #220 mail.domain.tld ESMTP Postfix
    helo darling
    #250 mail.domain.tld
    MAIL FROM: root@localhost
    #250 2.1.0 Ok
    RCPT TO: test@example.com
    #250 2.1.5 Ok
    DATA
    #354 End data with .
    this is text message
    
    .
    #250 2.0.0 Ok: queued as E3BA1A15FA
    quit
    #221 2.0.0 Bye
    
  4. Тестируем SMTP c авторизацией без SSL
    Предварительно закодируйте в base64 тестовые логин и пароль, которые посылаются последовательно после AUTH LOGIN. Входящие требования с кодом 334 тоже закодированы в base64.
  5. 
    perl -MMIME::Base64 -e 'print encode_base64("testme@example.com")'
    perl -MMIME::Base64 -e 'print encode_base64("testme")'
    
    telnet 127.0.0.1 25
    #220 mail.domain.tld ESMTP Postfix
    ehlo darling
    #250-mail2.dautkom.lv
    #250-PIPELINING
    #250-SIZE 51200000
    #250-STARTTLS
    #250-AUTH PLAIN LOGIN
    #250-AUTH=PLAIN LOGIN
    #250-ENHANCEDSTATUSCODES
    #250-8BITMIME
    #250 DSN
    AUTH LOGIN
    #334 VXNlcm5hbWU6
    dGVzdA==
    #334 UGFzc3dvcmQ6
    dGVzdHBhc3N3b3Jk
    #235 2.7.0 Authentication successful
    
  6. Тестируем SMTP c SSL
    # Зашифруем наши credentials
    perl -MMIME::Base64 -e 'print encode_base64("\000testme\@example.com\000testme")'           
    # Получаем строку 
    # AHRlc3RAZXhhbXBsZS5jb20AdGVzdHBhc3N3b3Jk
    
    openssl s_client -starttls smtp -connect 127.0.0.1:587 -crlf -ign_eof
    # Обмен приветствиям
    # На полтора экрана текста
    
    EHLO darling
    #250-mail.example.com
    #250-PIPELINING
    #250-SIZE 51200000
    #250-ENHANCEDSTATUSCODES
    #250-8BITMIME
    #250 DSN
    
    AUTH PLAIN AHRlc3RAZXhhbXBsZS5jb20AdGVzdHBhc3N3b3Jk
    #235 2.7.0 Authentication successful