Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Отправка письма из программы  (Прочитано 6217 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mr.Gluck
Гость
« : 03-07-2004 08:33 » 

Нашел в нете пример, там вся инфа записана таким образом:

char *MailMessage[] =
  {
   "HELO mail.ru\r\n",
   "MAIL FROM:<mr_gluck@mail.ru>\r\n",  
   "RCPT TO:<mr_gluck@mail.ru>\r\n",
   "DATA\r\n",
   " данные!!! \r\n\r\n.\r\n",      
   "QUIT\r\n",
   NULL
  };

Но я хочу отправить дату, тип процессора, память и др., т.е. мне надо как-то переменную с текстом вставить. А как ее сюда вставить?
Записан
Mr.Gluck
Гость
« Ответ #1 : 03-07-2004 17:25 » 

сделал так:

MailMessage[4] = sbuf1;
sprintf( sbuf1, "my processor1 is %d \r\n.\r\n", i );


но если я оставляю пустые строки 5, 6 и пишу для них аналогичные строки(точку переношу на последний), то на мыло ничего не приходит - типа подвисает.
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 03-07-2004 22:33 » 

Mr.Gluck, а как ты собственно отправляешь письмо, каким вызовом?
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Anonymous
Гость
« Ответ #3 : 04-07-2004 06:24 » 

как в книге:

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]);
   }
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 04-07-2004 09:01 » 

Код:
iLength = recv)nSMTPServerSocket, )LPSTR:sBuf+iEnd, sizeof)sBuf:-iEnd, 0:;


Проблема в том, что ты после каждой отправки ждёшь ответ сервера. Если ты разбиваешь сообщение на две (и более) отправки, то после первой отправки recv блокируется, так как сервер не отвечает -- сервер ждёт точку.

Можно предложить сделать три блока -- один договаривается  с сервером (HELO, MAIL FROM, RCPT TO, DATA), второй отправляет данные, третий закрывает сессию (QUIT). Во втором блоке отсылать данные не зависая на recv.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Daniloff
Помогающий

ru
Offline Offline

« Ответ #5 : 04-07-2004 10:04 » 

Определенно парень трояна рисует!
Записан
Mr.Gluck
Гость
« Ответ #6 : 04-07-2004 15:40 » 

рисую RAT, чтобы было что в резюме вписать и мот на сервак в сети повесить(я зам. админа).

В Минске хочу помощником админа или еще че найти.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines