Думаю полезная тема будет как для новичков, так и для тех кто хорошо разбирается в программировании) Выкладывайте в эту тему различные исходники программ, запросы на исходники оставляем так-же в этой теме. Вот вам для начала парочка Древний Telnet, но для новичков будет норм) Скачать Простой ICQ бот. Скачать Task Manager. Убивает любой процесс в Windows даже если пользователь не обладает правами админа(только должна быть привелегия создания удаленного потока- по умолчанию она есть для обычного пользователя) Скачать Исходники ОС Idioma (C++), компилятся из под DOS(DJGPP) и Linux(gcc). P.S: Нечто похожее на первые потуги Линуса Скачать Прога для просмотра автозапуска через реестр. Скачать Ищем все компьютеры в сети (Delphi) Скачать Простой FTP сервер (Delphi) Скачать Простейший сниффер для NT-платформ. Ловит пакеты и с ppp-соединения (Delphi) Скачать Очень простенький почтовый клиент написанные в Delphi6 с использованием компонентов FastNet. (Delphi) Скачать Простейший сниффер под W2K/XP (C++) Скачать Интерфейс для прослушивания событий запущенного Internet Explorer (C++) Скачать
Пример создания Loader'а на Delphi (исходники). Скачать Исходник программы, предназначенной для обмена мгновенными сообщениями (полный аналог ICQ). Это небольшая компонента, которая позволяет вам общаться с ICQ пользователями прямо из вашей программы. Исходники довольно хорошо описаны (правда на английском), так что можно без проблем расширять возможности компоненты. (Delphi) Скачать Исходник достаточно простого для понимания и быстрого сканера портов. (Delphi) Скачать Исходник программы, предназначенной для мониторинга активности сетевых интерфейсов с построением графиков активности. (Delphi) Скачать Исходник программы, показывающей пример создания простейшего прокси-сервера на основе компонента TGpHTTPProxy. (Delphi) Скачать Исходник программы, предназначенной для отправки электронной почты с возможностью прикрепления файла к сообщению (используются компоненты SMTPClient и SMTPMess). (Delphi) Скачать Исходники TCP клиент-сервера. (C++) Скачать Получение хистори из Internet Explorer. (C++) Скачать Программа отправки пейджинговыйх сообщений через e-mail. (C++) Скачать Простой чат для локальлной сети. Сервер и клиент. (C++) Скачать Компонент OCX для организации голосовой прозвонки. (C++) Скачать
если кто встречал или может у кого есть исходники на С++ (api) отправка файла почтой с авторизацией выложите пожалуйста
боян. читал и скачивал давно на сайте ishodnniki.ru. читай RFC протоколо + юзай сокеты и будет тебе счастье
Ребят а есть исходники каких нибудь регеров? Желательно работающие но можно и любые. Хочу посмотреть принцип действия.
Пишем письмо незаметно от пользователя по протоколу SMTP: Code: { smtp - ip адрес smtp сервера port - порт smtp сервера, по умолчанию 25 from - адрес отправителя dest - адрес получателя subject - тема письма body - текст писма Возвращает True если письмо было успешно отправленно... } function mail(smtp: string; port: integer; from, dest, subject, body: string): bool; const cl = #13#10; var WSAData: TWSAData; Host: TSockAddrIn; Sock: TSocket; res: Integer; buff: array[1..255] of Char; { отправляем данные через сокет } procedure senddata(str: string); var i: integer; begin for i := 1 to Length(str) do if send(Sock, str[i], 1, 0) = SOCKET_ERROR then exit; end; { получаем ответ от команды } function recvdata(accept: string): bool; var buff: array[1..255] of Char; begin res := recv(Sock, buff, SizeOf(buff), 0); Result := (Res = SOCKET_ERROR) or (Copy(buff, 1, 3) = accept); end; begin try result := false; { инициализация сокета } WSAStartUp(257, WSAData); Sock := socket(AF_INET, SOCK_STREAM, IPPROTO_IP); if Sock = INVALID_SOCKET then Exit; { устанавливаем хост и порт сервера } res := inet_addr(PChar(smtp)); if res <= 0 then exit; Host.sin_family := AF_INET; Host.sin_port := htons(port); Host.sin_addr.S_addr := res; { подключаемся к серверу } if connect(Sock, Host, SizeOf(Host)) > 0 then Exit; { приветствие сервера } if not recvdata('220') then Exit; { EHLO } senddata('EHLO' + cl); if not recvdata('250') then Exit; { MAIL FROM: } senddata('MAIL FROM:' + from + cl); if not recvdata('250') then Exit; { RCPT TO: } senddata('RCPT TO:' + dest + cl); if not recvdata('250') then Exit; { DATA } senddata('DATA' + cl); if not recvdata('354') then Exit; { отправляем текст сообщения } senddata('Subject:' + subject + cl + cl + body + cl + '.'); if not recvdata('250') then Exit; { отключаемся от сервера } senddata('QUIT' + cl); result := true; finally { убиваем сокет } closesocket(sock); WSACleanup; end; end; { mail('127.0.0.1',25,'bboy-ne@yandex.ru' ,'admin@company.mail', 'subj', 'body text'); } Тоже самое,но короче Code: unit Email; interface uses Windows, SusUtils, Classes; function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean; function IsOnline: Boolean; implementation uses Mapi; function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean; var MapiMessage: TMapiMessage; MapiFileDesc: TMapiFileDesc; MapiRecipDesc: TMapiRecipDesc; i: integer; s: string; begin with MapiRecipDesc do begin ulRecerved:= 0; ulRecipClass:= MAPI_TO; lpszName:= PChar(RecipName); lpszAddress:= PChar(RecipAddress); ulEIDSize:= 0; lpEntryID:= nil; end; with MapiFileDesc do begin ulReserved:= 0; flFlags:= 0; nPosition:= 0; lpszPathName:= PChar(Attachment); lpszFileName:= nil; lpFileType:= nil; end; with MapiMessage do begin ulReserved := 0; lpszSubject := nil; lpszNoteText := PChar(Subject); lpszMessageType := nil; lpszDateReceived := nil; lpszConversationID := nil; flFlags := 0; lpOriginator := nil; nRecipCount := 1; lpRecips := @MapiRecipDesc; if length(Attachment) > 0 then begin nFileCount:= 1; lpFiles := @MapiFileDesc; end else begin nFileCount:= 0; lpFiles:= nil; end; end; Result:= MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0) = SUCCESS_SUCCESS; end; function IsOnline: Boolean; var RASConn: TRASConn; dwSize,dwCount: DWORD; begin RASConns.dwSize:= SizeOf(TRASConn); dwSize:= SizeOf(RASConns); Res:=RASEnumConnectionsA(@RASConns, @dwSize, @dwCount); Result:= (Res = 0) and (dwCount > 0); end; end.