Вот например, написали Вы какую-нибудь супер-пупер программку, и раздали её всем кому угодно, или второй вариант, хотите хоть как-то защитить свою программку. В обоих случая вы можете знать, на каком айпи адресе была запущена Ваша программа, по пришедшему сообщению в Ваш почтовый ящик :) Таким способом обычно пользуются программы-тряны, отправляющие их хозяину пароль несчастного пользователя. 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:<
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>\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); } } |