C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Посылка электронной почты из приложения / E-mail / Сеть

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

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

  пример функции, посылающей электронное письмо
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);
  }
}