Главная » 2009 Ноябрь 6 » Отправка электронной почты из приложения
08:20 Отправка электронной почты из приложения |
Вот например, написали Вы какую-нибудь программку, и раздали её всем кому угодно, или второй вариант, хотите хоть как-то защитить свою программку. В обоих случая вы можете знать, на каком IP-адресе была запущена Ваша программа, по пришедшему сообщению в Ваш почтовый ящик. Таким способом обычно пользуются программы-тряны, отправляющие их хозяину пароль несчастного пользователя. 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:\r\n",// адрес отправителя "RCPT TO:\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); } } Источник: www.sources.ru |
|
Всего комментариев: 0 | |