Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Посылка электронной почты из приложения

Вот например, написали Вы какую-нибудь супер-пупер программку, и раздали её всем кому угодно, или второй вариант, хотите хоть как-то защитить свою программку. В обоих случая вы можете знать, на каком айпи адресе была запущена Ваша программа, по пришедшему сообщению в Ваш почтовый ящик :) Таким способом обычно пользуются программы-тряны, отправляющие их хозяину пароль несчастного пользователя.

  пример функции, посылающей электронное письмо
 
 void SendMail(void)
 
 {
 
   SOCKET nSMTPServerSocket;
 
   struct sockaddr_in smtp_address;
 
   int nConnect;
 
   int iLength;
 
   int iMsg = 0;
 
   int iEnd = 0;
 
   BYTE sBuf[4096];
 
 
 
   char *MailMessage[] =
 
   {
 
 	"HELO axel.ru\r\n",
 
 	"MAIL FROM:<vasya_pupkin@cool_mail.ru>\r\n",   // адрес отправителя
 
 	"RCPT TO:<purpe@usa.net>\r\n",	               // адресок получателя
 
 	"DATA\r\n",
 
 	"Самое крутое сообщение!!!\r\n\r\n.\r\n",      // тело сообщения
 
 	"QUIT\r\n",
 
 	NULL
 
   };
 
 
 
   nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);
 
 
 
   if(nSMTPServerSocket != INVALID_SOCKET)  {
 
 	smtp_address.sin_family = AF_INET;
 
    // далее вносим в структуру IP-адрес сервера, через который пойдёт письмо
 
 	smtp_address.sin_addr.s_addr = inet_addr("212.96.192.1");
 
 	smtp_address.sin_port = htons(25);
 
 
 
 	nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
 
                                                           sizeof(smtp_address));
 
 
 
 	if(nConnect)  {
 
 	}
 
 	else  {
 
 	  do  {
 
 	    iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
 
 	    iEnd += iLength;
 
 	    sBuf[iEnd] = '\0';
 
 	    send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
 
 	    iMsg++;
 
 	  } while(MailMessage[iMsg]);
 
 	}
 
 
 
 	closesocket(nSMTPServerSocket);
 
   }
 
 }
 
 


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS