Главная » 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
Категория: Программирование | Просмотров: 713 | Добавил: admin | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]