Статии - мрежа - изпращане на разрешение SMTP
Така че сега, накратко, какво SMTP - Simple Mail Transfer Protocol. Протокол задача - това е удобен за изпращане на електронна поща адрес. Но ако не направите уединение и не навлизам в подробности, това е просто един брой отбори и "специални знаци", ви позволява да изпращате имейли. С цел да се лично връзка със сървъра, можете да вземете един обикновен Telnet (Start-Run-телнет) и отидете до 25 порта на сървъра.
Това се прави с отворен smtp.servak.net екип от 25. И ако всичко върви добре, ще получите отговор от сървъра.
По-нататъшната работа трябва да започне със сървъра, и за това той трябва да бъде добре дошъл. тъй като нормални думи сървърът не разбирам това трябва да се направи отбор EHLO someword [CRLF].
[CRLF] = Enter = 13,10 (всеки байт на команда последователност е завършена). След утвърдителен отговор да преминете направо към изпращане на имейли.
Но това е по-добре да се види веднъж, отколкото да чуеш 100 пъти, така че аз ще дам един пример за диалог със сървъра (ите - сървър, ф - потребител):
Proc Send_Mail pszmess, pszfrom, pszto, pszlog, pszpass, pszserv, pszsubj
Тук е криптиран потребителско име и парола, за да Base64, алгоритъмът, използван от RT Fishel без използването на азбуката. Освен това, ние работим с WinSocks
Тук като параметър gethostbyname се предава указател към низ с името на сървъра, а след това извлича от sin_addr структурата hostent.
Свържете се с порт 25, но трябва да се помисли байт ред.
След свързване прочете отговор на сървъра.
Трябва да се отбележи, че всички отговори на сървъра започват с определен код. Лесно е да се види, че, ако е успешен, кодът започва с нито числото 2 или 3 с въз основа на тази проверка за грешки в get_data процедура.
Сега малко за спомагателните процедури:
Аз не вярвам, че трябва да помисли за работата на всеки един от тях, ако сте запознати с WinSocks, а след това да го направите сами, без никакви проблеми.
Изпращането на потребителско име и парола на сървъра. szEnd + 3 - указател към [CRLF]. Оказва се, че ние преминаваме низ и след това [CRLF] и прочетете отговора. Освен това, всички в ред, както е описано по-рано в тази статия.
Програмата изпраща линия приблизително по следния начин:
За прехвърляне на файлове, трябва да се създаде орган на заглавната част на съобщение тип
След това просто прехвърли криптирана в Base64 файла.
Благодарение:- Ct757 за помощ и полезност pfcode, която дадох ужасно код гладка и красива външност.
- Бил Затворник за идеята за написването на тази статия.
- ревер че никога няма да докосна SMTP.
- Използване на подложки / взаимодействие с SMTP-сървъра [Били Belcebu / IKX, транс. Aquila]
- Ръководство за мрежа Програмиране Beej, използвайки Интернет гнезда [Brian "Beej" Зала Лейн. varnie]
- Заразените VOICE # 15 - Въведение. Интернет. Разговор със сървъра SMTP на Асемблер
- Изходният код Xinch.
- RFC # 821 # 2554