Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2009, 02:40   #1
poster123
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 11
Восклицание Отправка сообщения на email по таймеру!

Помогите сделать код рабочим:

Код:
uses
  Windows, MMSystem,IdMessage, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdAntiFreezeBase,
  IdAntiFreeze,  ExtCtrls;

 const
      TimeOut = 3*1000;//2*60*1000;  //Время срабатывания таймера, мс.
var
   mmTimer: integer;
   m:TIdMessage;
  mmResult: Integer;
  SMTP: TIdSMTP;

procedure mmTimerProc(TimerID,Msg: Uint; dwUser,dw1,dw2: DWORD); pascal;
begin
M := TIdMessage.Create(nil);
M.Body.Add('1 строка');
M.Body.Add('2 ');
M.From.Text:='........';
M.Recipients.Add;//
M.Recipients.Items[0].Text:='........';
M.Subject := '......';
SMTP.Host := '.....';;
SMTP.Port := .......;
SMTP.AuthenticationType:=atLogin;
SMTP.username:='......';
SMTP.password:='......';
SMTP.Connect();
if SMTP.Connected then
begin
SMTP.Send(M);
end;
SMTP.Disconnect;
end;

begin
      //включить таймер
  mmTimer:=TimeSetEvent(TimeOut,0,@mmTimerProc,0,TIME_PERIODIC);
  readln;
end.

Но если через Button1 отправка есть...
Но нужно без формы !

Последний раз редактировалось rpy3uH; 13.07.2009 в 15:36.
poster123 вне форума Ответить с цитированием
Старый 13.07.2009, 15:55   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

возьми шаблон
Код:
program Project2;

uses
  Windows,Messages;

var
  TimerID: DWORD;
  Msg:TMsg;

procedure mmTimerProc(TimerID,Msg: Uint; dwUser,dw1,dw2: DWORD); stdcall;
begin
  MessageBox(0,'123','123',0);
  //
  //здесь твой код
  //
end;

begin
  TimerID:=SetTimer(0,0,1000,@mmTimerProc);

  While GetMessage(Msg,0,0,0) do
   begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
   end;
end.
rpy3uH вне форума Ответить с цитированием
Старый 13.07.2009, 18:33   #3
poster123
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 11
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  Windows, MMSystem,IdMessage, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdAntiFreezeBase,
  IdAntiFreeze,  ExtCtrls;

var
   mmTimer: integer;
   m:TIdMessage;
  mmResult: Integer;
  SMTP: TIdSMTP;
   TimerID: DWORD;
   Msg:TMsg;


//обработчик таймера
procedure mmTimerProc(TimerID,Msg: Uint; dwUser,dw1,dw2: DWORD); stdcall;
begin
 MessageBox(0,'123','123',0);
M := TIdMessage.Create(nil);
M.Body.Add('1 строка');
M.Body.Add('2 ');
M.From.Text:='p......';
M.Recipients.Add;//
M.Recipients.Items[0].Text:='........';
M.Subject := 'HEIL! >:)';
SMTP.Host := '.....';;
SMTP.Port := ......;
SMTP.AuthenticationType:=atLogin;
SMTP.username:='......';
SMTP.password:='......';
SMTP.Connect();
if SMTP.Connected then
begin
SMTP.Send(M);
end;
SMTP.Disconnect;
end;

begin
  TimerID:=SetTimer(0,0,1000,@mmTimerProc);

  While GetMessage(Msg,0,0,0) do
   begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
   end;
end.

Окно MessageBox появляется но на почту не приходит сообщение (((!
Что не так, может нужно динамически сделать SMTP? и другие...

Последний раз редактировалось rpy3uH; 13.07.2009 в 18:45.
poster123 вне форума Ответить с цитированием
Старый 14.07.2009, 08:47   #4
poster123
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 11
По умолчанию

Более менее я разобрался но вот как отправить предположим сообщение с файлом например атач с:/..../ text.txt только вмесло Text.txt нужно отправить все файлы txt, как это записать хелпаните плз...
poster123 вне форума Ответить с цитированием
Старый 14.07.2009, 11:47   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от poster123 Посмотреть сообщение
только вмесло Text.txt нужно отправить все файлы txt
какие "все файлы txt"?
rpy3uH вне форума Ответить с цитированием
Старый 14.07.2009, 18:37   #6
poster123
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
какие "все файлы txt"?
Я имею ввиду отправку файла с расширением exe,log,txt не важно, просто если я не знаю его точное название и поэтому нужно отправить все файлы с разрешением txt или .log.... чтобы пришел вместе с 'мусорными' файлами тот который мне нужен...

К примеру
Код:
TIdAttachment.Create(M.MessageParts,'C:\Documents and Settings\......\и тут много txt файлов как их записать на отправку.... ');

Последний раз редактировалось poster123; 14.07.2009 в 18:48.
poster123 вне форума Ответить с цитированием
Старый 14.07.2009, 19:36   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

через поиск файлов с маской(на форуме есть)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.07.2009, 20:05   #8
poster123
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 11
По умолчанию

спасибо rpy3uH,Пепел Феникса за помощь!

Последний раз редактировалось poster123; 14.07.2009 в 21:03.
poster123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка по email DeDoK Общие вопросы Delphi 6 19.04.2011 11:41
Отправка email через прокси BMH Общие вопросы .NET 3 26.04.2009 03:07
Отправка Email через программу по умолчанию ScreN Общие вопросы Delphi 7 05.01.2009 23:21
Как отправка текста на Email Миша HTML и CSS 1 12.10.2008 23:20