SMTP (Simple Mail Transfer Protocol, Простий Протокол Пересилання Пошти) - це протокол, який використовується для пересилання електронної пошти до поштового сервера або з клієнта-комп'ютера, або між поштовими серверами. В IANA для SMTP зареєстрований порт 25. SMTP з'єднання де застосовується SSL шифрування використовують порт 465. Формально SMTP визначений в RFC 821 (STD 10) та покращений RFC 1123 (STD 3) розділ 5. Протокол, який використовується зараз, також відомий як ESMTP і визначений в RFC 2821.
Окрім з'єднань між MTA (Mail Transfer Agent), зі сторони клієнта з'єднатися з smtp-сервером можна як за допомогою налаштованого MUA (Mail User Agent) так і за допомогою telnet на 25/tcp порт. Щоб швидко перевірити чи smtp-сервер взагалі слухає та хоч якось працює останнього цілком достатньо.
Перевіряємо SMTP.
Варто зауважити, що якщо ви не є визнаним користувачем smtp-сервера (наприклад, абонентом провайдера до smtp-сервера якого хочете отримати доступ) то smtp-сервер може або не прийняти з'єднання або ж на будь-якому етапі перервати його, якщо таку дію налаштовано задля забезпечення унеможливлювання пересилання спаму.Окрім з'єднань між MTA (Mail Transfer Agent), зі сторони клієнта з'єднатися з smtp-сервером можна як за допомогою налаштованого MUA (Mail User Agent) так і за допомогою telnet на 25/tcp порт. Щоб швидко перевірити чи smtp-сервер взагалі слухає та хоч якось працює останнього цілком достатньо.
Перевіряємо SMTP.
telnet сервер 25Після того як з'єднання з smtp-сервером буде встановлено і отримаємо привітання, щось на кшталт
220 smtp.server.com, ESMTPМожна спробувати ввести одна за одною наступні smtp-команди:
HELO localhost MAIL FROM: <sender@server.com> RCPT TO: <user1@server.com> RCPT TO: <user2@server.com> DATA From: Sender <sender@server.com> To: Receiver1 <user1@server.com> To: Receiver2 <user2@server.com> Subject: Test SMTP Content-Type: text/plain Hi! Test SMTP. . QUIT
Іноді, але не завжди, smtp-сервера для своїх користувачів надають можливість надсилати пошту з будь-якої частини Мережі, за умови позитивного проходження аутентифікації. Аутентифікація є розширенням до протоколу SMTP. Для її перевірки попередньо знадобиться виконати дві команди: перша ідентифікую користувача сервера, друга його пароль:
~$ perl -MMIME::Base64 -e 'print encode_base64("sender\@server.com");' c2VuZGVyQHNlcnZlci5jb20= ~$ perl -MMIME::Base64 -e 'print encode_base64("pa\$\$w0rd");' cGEkJHcwcmQ=
Після цього можна спробувати поспілкуватися з smtp-сервером і спробувати авторизуватися:
EHLO localhost AUTH LOGIN c2VuZGVyQHNlcnZlci5jb20= cGEkJHcwcmQ= MAIL FROM: <sender@server.com> RCPT TO: <user1@server.com> RCPT TO: <user2@server.com> DATA From: Sender <sender@server.com> To: Receiver1 <user1@server.com> To: Receiver2 <user2@server.com> Subject: Test SMTP Content-Type: text/plain Hi! Test Auth. . QUIT
Замість AUTH LOGIN до речі можна використовувати й AUTH PLAIN чи, наприклад, AUTH CRAM-MD5, якщо це підтримується сервером і якщо знаєте як цим користуватися.
Варто також зауважити, що у наведених прикладах localhost варто замінити на реальне ім'я своєї системи, а у полях from та to вказувати реальних користувачів, інакше сервер легко може сприйняти вас за спамера і, відповідно, заблокувати відправлення пошти.
Немає коментарів:
Дописати коментар