Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.99/118: Рейтинг темы: голосов - 118, средняя оценка - 4.99
диmax

Отправить E-Mail

09.08.2009, 20:07. Показов 22030. Ответов 24
Метки нет (Все метки)

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

Добавлено через 1 минуту 24 секунды
там надо использовать SMTP и Message ))) а вот как ?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2009, 20:07
Ответы с готовыми решениями:

Никак не получается отправить e-mail
unit Unit2; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, ...

Отправить E-Mail idsmtp+opendialog
Может подсказать кто как это осуществить?

Как отправить письмо на e-mail?
Хочу с помощью Delphi отправить письмо. Или хотябы с помощью друго программы-посредника, где Delphi будет отдавать сообщение через...

24
nksm
20.08.2009, 13:48
В общих чертах:
POP - прием почты
SMTP - отправка

В твоем случае:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SMTP.Host:='smtp.yandex.ru'; // адрес почтового сервера
SMTP.Port:=25; // порт по которому будет осуществляться подключение
SMTP.AuthType:=satDefault; // тип подключения к серверу - с авторизацией
SMTP.Username:='momoreport'; // логин пользователя
SMTP.Password:='147969gsk'; // пароль пользователя
IdMessage1.Recipients.EMailAddresses:= 'includ.ua@gmail.com'; // майл получателя письма
IdMessage1.From.Text := 'momoreport@yandex.ru'; // майл отправителя письма
IdMessage1.Subject := 'momo Report'; // тема письма
IdMessage1.Body.Text :=memo1.Text; // передача данных из memo в компонент IdMessage, для последующей отправки
try
try
SMTP.Connect; // соединение с почтовым сервером
SMTP.Send(IdMessage1);
ShowMessage('Письмо отправлено!');
except on E:Exception do
begin
ShowMessage('Письмо не отправлено!');
end;
end;
finally
SMTP.Disconnect; // разрыв соединения
end;
Хочу заметить что отправить письмо на mail.ru не получилось, говорят что он проверят клиент отправки, и самопальные не смогут работать.
2 / 2 / 0
Регистрация: 14.08.2009
Сообщений: 13
22.08.2009, 07:19
+ Можно отправить файл )
будте внимательными с этими 2 строчками
idmessage1.from.text:=Edit1.Text+'@bk.ru ';
idsmtp1.Host:='smtp.bk.ru'; {smtp.mail.ru smtp.inbox.ru и тд}


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var
  Form1: TForm1;
  s:string;
implementation
 
{$R *.dfm}
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
var a:string;
begin
idsmtp1.Host:='smtp.bk.ru';                                 {хост}
idsmtp1.Port:=25;   
idsmtp1.Username:=Edit1.Text;                            {лог}
idsmtp1.password:=Edit2.Text;                             {пас}
idmessage1.Body.text:=Memo1.text;                     {текст}
idmessage1.from.text:=Edit1.Text+'@bk.ru';           {от кого}
idmessage1.Recipients.emailaddresses:=Edit4.Text'; {кому}
 
if FileExists(s) then TIdAttachment.Create(IdMessage1.MessageParts,s);     //!!!!!!!!!
 
idmessage1.subject:=Edit3.Text;                             {TEMA}
idsmtp1.Connect();
if idsmtp1.connected then
idsmtp1.Send(idmessage1);
idsmtp1.disconnect;
end;
 
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
 if OpenDialog1.Execute  then s:=OpenDialog1.FileName;
 
end;
 
end.
Добавлено через 7 минут 23 секунды
Хочу заметить что отправить письмо на mail.ru не получилось, говорят что он проверят клиент отправки, и самопальные не смогут работать.
Я сам себе отправили Пришло )
так что юзайте ) дорабатывайте )
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
22.08.2009, 10:44
Хочу заметить что отправить письмо на mail.ru не получилось, говорят что он проверят клиент отправки, и самопальные не смогут работать.
В корне неверное заявление.
0
0 / 0 / 0
Регистрация: 21.09.2007
Сообщений: 33
09.11.2009, 18:33
orkus,
не могбы ты поделится исходниками,ато я наверно гдето накасячил ругаеца сильно когда отпраляеш,а времени искать ошибки нету(
если можеш скинь на мыло dago_exe@mail.ru
0
 Аватар для mambet43
91 / 42 / 4
Регистрация: 17.12.2009
Сообщений: 99
14.03.2010, 18:09
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button1Click(Sender: TObject);
var
  IdAttachment1:TIdAttachment;
begin
//вкладка indy clients, ставишь на форму IdSMTP (ящик синий такой нарисован)
//вкладка indy misc, ставишь IdMessage
  IdMessage1.Body.Text:='текст';
  IdMessage1.From.Text:='откуда@mail.ru';
  IdMessage1.Recipients.Add.Text:='куда@mail.ru';
  IdMessage1.Subject:='тема сообщения';
//прикрепить файл:
  IdAttachment1:=TIdAttachment.Create(IdMessage1.MessageParts,'c:\file.zip');
  IdSMTP1.AuthenticationType := atLogin;
  IdSMTP1.Host:='smtp.mail.ru';
  IdSMTP1.Username:='откуда@mail.ru';
  IdSMTP1.Password:='пароль';
  IdSMTP1.Connect();
  if IdSMTP1.Connected then
    IdSMTP1.Send(IdMessage1);
  IdSMTP1.Disconnect;
end;
0
vanea1302
05.09.2010, 12:59

помогите мне, пожалуйста,решить эту проблему
2 / 2 / 0
Регистрация: 10.05.2011
Сообщений: 50
05.07.2011, 17:26
Delphi
1
2
idsmtp1.port :=587;
idsmtp1.AuthenticationType:=atlogin;
0
0 / 0 / 0
Регистрация: 05.11.2011
Сообщений: 19
09.11.2011, 17:55
Цитата Сообщение от Unloat777 Посмотреть сообщение
idsmtp1.port :=587;
idsmtp1.AuthenticationType:=atlogin;
у меня таже фигня... правда вот я выделил жырним.. что atlogin у меня выдает ошибку ??
[DCC Error] Unit2.pas(59): E2003 Undeclared identifier: 'atlogin'
0
 Аватар для toxianec
3 / 3 / 0
Регистрация: 31.07.2009
Сообщений: 205
06.01.2012, 01:24
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
unit SMTP_Connections;
// *********************************************************************
//     Unit Name          : SMTP_Connections                           *
//     Author             : t0}{iC  [email]my_elza@mail.ru[/email]                    *
//     Date               : 01/17/2004                                 *
//**********************************************************************
 
interface
 
uses
  Classes, StdCtrls;
 
const
  WinSock = 'wsock32.dll';
  Internet = 2;
  Stream  = 1;
  fIoNbRead = $4004667F;
  WinSMTP = $0001;
  LinuxSMTP = $0002;
 
type
 
  TWSAData = packed record
    wVersion: Word;
    wHighVersion: Word;
    szDescription: array[0..256] of Char;
    szSystemStatus: array[0..128] of Char;
    iMaxSockets: Word;
    iMaxUdpDg: Word;
    lpVendorInfo: PChar;
  end;
  PHost = ^THost;
  THost = packed record
    Name: PChar;
    aliases: ^PChar;
    addrtype: Smallint;
    Length: Smallint;
    addr: ^Pointer;
  end;
 
  TSockAddr = packed record
    Family: Word;
    Port: Word;
    Addr: Longint;
    Zeros: array[0..7] of Byte;
  end;
 
 
function WSAStartup(Version:word; Var Data:TwsaData):integer; stdcall; far; external winsock;
function socket(Family,Kind,Protocol:integer):integer; stdcall; far; external winsock;
function shutdown(Socket,How:Integer):integer; stdcall; far; external winsock;
function closesocket(socket:Integer):integer; stdcall; far; external winsock;
function WSACleanup:integer; stdcall; far; external winsock;
function bind(Socket:Integer; Var SockAddr:TSockAddr; AddrLen:integer):integer; stdcall; far; external winsock;
function listen(socket,flags:Integer):integer; stdcall; far; external winsock;
function connect(socket:Integer; Var SockAddr:TSockAddr; AddrLen:integer):integer; stdcall; far; external winsock;
function accept(socket:Integer; Var SockAddr:TSockAddr; Var AddrLen:Integer):integer; stdcall; far; external winsock;
function WSAGetLastError:integer; stdcall; far; external winsock;
function recv(socket:integer; data:pchar; datalen,flags:integer):integer; stdcall; far; external winsock;
function send(socket:integer; var data; datalen,flags:integer):integer; stdcall; far; external winsock;
function gethostbyname(HostName:PChar):PHost; stdcall; far; external winsock;
function WSAIsBlocking:boolean; stdcall; far; external winsock;
function WSACancelBlockingCall:integer; stdcall; far; external winsock;
function ioctlsocket(socket:integer; cmd: Longint; var arg: longint): Integer; stdcall; far; external winsock;
function gethostname(name:pchar; size:integer):integer; stdcall; far; external winsock;
 
procedure _authSendMail(MailServer,uname,upass,mFrom,mFromName,mToName,Subject:string;mto,mbody:TStringList);
function ConnectServer(mhost:string;mport:integer):integer;
function ConnectServerwin(mhost:string;mport:integer):integer;
function DisConnectServer:integer;
function Stat: string;
function SendCommand(Command: String): string;
function SendData(Command: String): string;
function SendCommandWin(Command: String): string;
function ReadCommand: string;
function encryptB64(s:string):string;
 
 
var
  mconnHandle: Integer;
  mFin, mFOut: Textfile;
  EofSock: Boolean;
  mactive: Boolean;
  mSMTPErrCode: Integer;
  mSMTPErrText: string;
  mMemo: TMemo;
 
implementation
 
uses
  SysUtils, Sockets, IdBaseComponent,
  IdCoder, IdCoder3to4, IdCoderMIME, IniFiles,Unit1;
 
var
  mClient: TTcpClient;
 
procedure _authSendMail(MailServer, uname, upass, mFrom, mFromName,
  mToName, Subject: string; mto, mbody: TStringList);
var
  tmpstr: string;
  cnt: Integer;
  mstrlist: TStrings;
  RecipientCount: Integer;
begin
  if ConnectServerWin(Mailserver, 25) = 250 then
  begin
    Sendcommandwin('AUTH LOGIN ');
    SendcommandWin(encryptB64(uname));
    SendcommandWin(encryptB64(upass));
    SendcommandWin('MAIL FROM: ' + mfrom);
    for cnt := 0 to mto.Count - 1 do
      SendcommandWin('RCPT TO: ' + mto[cnt]);
    Sendcommandwin('DATA');
    SendData('Subject: ' + Subject);
    SendData('From: "' + mFromName + '" <' + mfrom + '>');
    SendData('To: ' + mToName);
    SendData('Mime-Version: 1.0');
    SendData('Content-Type: multipart/related; boundary="Esales-Order";');
    SendData('     type="text/html"');
    SendData('');
    SendData('--Esales-Order');
    SendData('Content-Type: text/html;');
    SendData('        charset="iso-8859-9"');
    SendData('Content-Transfer-Encoding: QUOTED-PRINTABLE');
    SendData('');
    for cnt := 0 to mbody.Count - 1 do
      SendData(mbody[cnt]);
    Senddata('');
    SendData('--Esales-Order--');
    Senddata(' ');
    mSMTPErrText := SendCommand(crlf + '.' + crlf);
    try
      mSMTPErrCode := StrToInt(Copy(mSMTPErrText, 1, 3));
    except
    end;
    SendData('QUIT');
    DisConnectServer;
  end;
end;
 
 
function Stat: string;
var
  s: string;
begin
  s := ReadCommand;
  Result := s;
end;
 
function EchoCommand(Command: string): string;
begin
  SendCommand(Command);
  Result := ReadCommand;
end;
 
function ReadCommand: string;
var
  tmp: string;
begin
  repeat
    ReadLn(mfin, tmp);
    if Assigned(mmemo) then
      mmemo.Lines.Add(tmp);
  until (Length(tmp) < 4) or (tmp[4] <> '-');
  Result := tmp
end;
 
function SendData(Command: string): string;
begin
  Writeln(mfout, Command);
end;
 
function SendCommand(Command: string): string;
begin
  Writeln(mfout, Command);
  Result := stat;
end;
 
function SendCommandWin(Command: string): string;
begin
  Writeln(mfout, Command + #13);
  Result := stat;
end;
 
function FillBlank(Source: string; number: Integer): string;
var
  a: Integer;
begin
  Result := '';
  for a := Length(trim(Source)) to number do
    Result := Result + ' ';
end;
 
function IpToLong(ip: string): Longint;
var
  x, i: Byte;
  ipx: array[0..3] of Byte;
  v: Integer;
begin
  Result := 0;
  Longint(ipx) := 0;
  i := 0;
  for x := 1 to Length(ip) do
    if ip[x] = '.' then
    begin
      Inc(i);
      if i = 4 then Exit;
    end
  else
  begin
    if not (ip[x] in ['0'..'9']) then Exit;
    v := ipx[i] * 10 + Ord(ip[x]) - Ord('0');
    if v > 255 then Exit;
    ipx[i] := v;
  end;
  Result := Longint(ipx);
end;
 
function HostToLong(AHost: string): Longint;
var
  Host: PHost;
begin
  Result := IpToLong(AHost);
  if Result = 0 then
  begin
    Host := GetHostByName(PChar(AHost));
    if Host <> nil then Result := Longint(Host^.Addr^^);
  end;
end;
 
function LongToIp(Long: Longint): string;
var
  ipx: array[0..3] of Byte;
  i: Byte;
begin
  Longint(ipx) := long;
  Result       := '';
  for i := 0 to 3 do Result := Result + IntToStr(ipx[i]) + '.';
  SetLength(Result, Length(Result) - 1);
end;
 
procedure Disconnect(Socket: Integer);
begin
  ShutDown(Socket, 1);
  CloseSocket(Socket);
end;
 
function CallServer(Server: string; Port: Word): Integer;
var
  SockAddr: TSockAddr;
begin
  Result := socket(Internet, Stream, 0);
  if Result = -1 then Exit;
  FillChar(SockAddr, SizeOf(SockAddr), 0);
  SockAddr.Family := Internet;
  SockAddr.Port := swap(Port);
  SockAddr.Addr := HostToLong(Server);
  if Connect(Result, SockAddr, SizeOf(SockAddr)) <> 0 then
  begin
    Disconnect(Result);
    Result := -1;
  end;
end;
 
function OutputSock(var F: TTextRec): Integer; far;
begin
  if F.BufPos <> 0 then
  begin
    Send(F.Handle, F.BufPtr^, F.BufPos, 0);
    F.BufPos := 0;
  end;
  Result := 0;
end;
 
function InputSock(var F: TTextRec): Integer; far;
var
  Size: Longint;
begin
  F.BufEnd := 0;
  F.BufPos := 0;
  Result := 0;
  repeat
    if (IoctlSocket(F.Handle, fIoNbRead, Size) < 0) then
    begin
      EofSock := True;
      Exit;
    end;
  until (Size >= 0);
  F.BufEnd := Recv(F.Handle, F.BufPtr, F.BufSize, 0);
  EofSock  := (F.Bufend = 0);
end;
 
 
function CloseSock(var F: TTextRec): Integer; far;
begin
  Disconnect(F.Handle);
  F.Handle := -1;
  Result   := 0;
end;
 
function OpenSock(var F: TTextRec): Integer; far;
begin
  if F.Mode = fmInput then
  begin
    EofSock := False;
    F.BufPos := 0;
    F.BufEnd := 0;
    F.InOutFunc := @InputSock;
    F.FlushFunc := nil;
  end
  else
  begin
    F.Mode := fmOutput;
    F.InOutFunc := @OutputSock;
    F.FlushFunc := @OutputSock;
  end;
  F.CloseFunc := @CloseSock;
  Result := 0;
end;
 
procedure AssignCrtSock(Socket:integer; Var Input,Output:TextFile);
 begin
  with TTextRec(Input) do
  begin
    Handle := Socket;
    Mode := fmClosed;
    BufSize := SizeOf(Buffer);
    BufPtr := @Buffer;
    OpenFunc := @OpenSock;
  end;
  with TTextRec(Output) do
  begin
    Handle := Socket;
    Mode := fmClosed;
    BufSize := SizeOf(Buffer);
    BufPtr := @Buffer;
    OpenFunc := @OpenSock;
  end;
  Reset(Input);
  Rewrite(Output);
 end;
 
function ConnectServer(mhost: string; mport: Integer): Integer;
var
  tmp: string;
begin
  mClient := TTcpClient.Create(nil);
  mClient.RemoteHost := mhost;
  mClient.RemotePort := IntToStr(mport);
  mClient.Connect;
  mconnhandle := callserver(mhost, mport);
  if (mconnHandle<>-1) then
  begin
    AssignCrtSock(mconnHandle, mFin, MFout);
    tmp := stat;
    tmp := SendCommand('HELO bellona.com.tr');
    if Copy(tmp, 1, 3) = '250' then
    begin
      Result := StrToInt(Copy(tmp, 1, 3));
    end;
  end;
end;
 
function ConnectServerWin(mhost: string; mport: Integer): Integer;
var
  tmp: string;
begin
  mClient := TTcpClient.Create(nil);
  mClient.RemoteHost := mhost;
  mClient.RemotePort := IntToStr(mport);
  mClient.Connect;
  mconnhandle := callserver(mhost, mport);
  if (mconnHandle<>-1) then
  begin
    AssignCrtSock(mconnHandle, mFin, MFout);
    tmp := stat;
    tmp := SendCommandWin('HELO bellona.com.tr');
    if Copy(tmp, 1, 3) = '250' then
    begin
      Result := StrToInt(Copy(tmp, 1, 3));
    end;
  end;
end;
 
function DisConnectServer: Integer;
begin
  closesocket(mconnhandle);
  mClient.Disconnect;
  mclient.Free;
end;
 
function encryptB64(s: string): string;
var
  hash1: TIdEncoderMIME;
  p: string;
begin
  if s <> '' then
  begin
    hash1 := TIdEncoderMIME.Create(nil);
    p := hash1.Encode(s);
    hash1.Free;
  end;
  Result := p;
end;
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
procedure TForm1.ButtonClick(Sender: TObject);
var
  mto, mbody: TStringList;
  MailServer, uname, upass, mFrom, mFromName,
  mToName, Subject: string;
begin
   mMemo := Memo1; // to output server feedback // поле для сообщения
  //..........................
  MailServer := Edit1.Text;
  uname := Edit2.Text;
  upass := Edit3.Text;
  mFrom :=  Edit5.Text;
  mFromName := 'test';
  mToName := '';
  Subject := 'Test message ';
  //..........................
  mto := TStringList.Create;
  mbody := TStringList.Create;
  try
    mto.Add(Edit4.Text);
      mbody.Add(DateToStr(Date));
       mbody.Add('test messafe');
     mbody.Add('test message');
    //Send Mail.................
    _authSendMail(MailServer, uname, upass, mFrom, mFromName, mToName, Subject, mto, mbody);
    //..........................
  finally
    mto.Free;
    mbody.Free;
   memo1.Clear;
  showmessage ('Тестовое сообщение было отправлено!');
 
end;
На и не мучайся, как говорится мир не без добрых людей, когда-то сам долго писал подобный код!)
0
36 / 36 / 8
Регистрация: 10.11.2011
Сообщений: 94
18.01.2012, 20:17
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button1Click(Sender: TObject);
begin
     smtp.Username := 'моё мыло';
     smtp.Password := 'мой пароль';
     smtp.Host := 'smtp.mail.ru';  //smtp.gmaill.ru, ...
     smtp.AuthenticationType := atLogin;
     smtp.Connect;
 
      if smtp.Authenticate then
      begin
          msg.Subject := 'Тема';
          msg.Body.Text := 'Основной текст';
          msg.From.Text := 'мыло получателя';
          msg.Recipients.EMailAddresses := 'мыло получателя';
          msg.Priority := TIdMessagePriority(mpHighest);
 
        smtp.Send(msg);
      end;
     smtp.Disconnect;
end;
0
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 14
25.04.2012, 15:52
Цитата Сообщение от ББК Посмотреть сообщение
Код Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Button1Click(Sender: TObject);
begin
* * *smtp.Username := 'моё мыло';
* * *smtp.Password := 'мой пароль';
* * *smtp.Host := 'smtp.mail.ru'; *//smtp.gmaill.ru, ...
* * *smtp.AuthenticationType := atLogin;
* * *smtp.Connect;
if smtp.Authenticate then
* * * begin
* * * * * msg.Subject := 'Тема';
* * * * * msg.Body.Text := 'Основной текст';
* * * * * msg.From.Text := 'мыло получателя';
* * * * * msg.Recipients.EMailAddresses := 'мыло получателя';
* * * * * msg.Priority := TIdMessagePriority(mpHighest);
smtp.Send(msg);
* * * end;
* * *smtp.Disconnect;
end;
Здесь забыл порт указать!

Такой вопрос: как через gmail отправлять?
0
2 / 2 / 0
Регистрация: 12.09.2012
Сообщений: 42
12.09.2012, 19:47
Извините. Я имею дело с delphi 7. И smtp и другие подобные обозначения я не знаю. Нужно подключать определенную библиотеку или описывать эти переменные? Сможете мне помочь?
0
7 / 7 / 5
Регистрация: 01.01.2012
Сообщений: 111
13.09.2012, 09:25
Цитата Сообщение от ilyaKZ Посмотреть сообщение
Извините. Я имею дело с delphi 7. И smtp и другие подобные обозначения я не знаю. Нужно подключать определенную библиотеку или описывать эти переменные? Сможете мне помочь?
Indy на палитре компонентов
0
2 / 2 / 0
Регистрация: 12.09.2012
Сообщений: 42
13.09.2012, 09:58
Мало что прояснил, к сожалению. Нашел элемент idMessage. Но все равно нужно что то подключать. Не могу понять что. Буду очень благодарен, если вы мне скачаете исходник.
0
7 / 7 / 5
Регистрация: 01.01.2012
Сообщений: 111
13.09.2012, 10:06
Цитата Сообщение от ilyaKZ Посмотреть сообщение
Мало что прояснил, к сожалению. Нашел элемент idMessage. Но все равно нужно что то подключать. Не могу понять что. Буду очень благодарен, если вы мне скачаете исходник.
Msg = Indy Misc -> TIdMessage
Smtp = Indy Clients -> TIdSMTP

Кидаете на форму, необходимые units добавятся автоматически.
1
2 / 2 / 0
Регистрация: 12.09.2012
Сообщений: 42
13.09.2012, 10:55
Спасибо!! Ошибок все меньше. Я поменял все SMTP на idSMTP1. Но еще не все, к сожалению.
на строке idSMTP1.AuthType:=satDefault; пишет ошибку. Причина: неясный идентификатор AuthType.
Ну и еще фатальная ошибка на тему couldn't compile used unit1. Как то так.
0
7 / 7 / 5
Регистрация: 01.01.2012
Сообщений: 111
13.09.2012, 10:58
Цитата Сообщение от ilyaKZ Посмотреть сообщение
Спасибо!! Ошибок все меньше. Я поменял все SMTP на idSMTP1. Но еще не все, к сожалению.
на строке idSMTP1.AuthType:=satDefault; пишет ошибку. Причина: неясный идентификатор AuthType.
Ну и еще фатальная ошибка на тему couldn't compile used unit1. Как то так.
Сейчас проверил на Delphi XE2 - такое свойство есть, компилируется успешно...
0
2 / 2 / 0
Регистрация: 12.09.2012
Сообщений: 42
13.09.2012, 16:27
Подумал хорошо. И пришел в выводу, что в версиях delphi не все команды одинаковые. В общем, нашел аналог функции и успешно отправил мейл с яндекса на яндекс. Сейчас попробую с mail.ru. Надеюсь порт такой же.
0
2 / 2 / 0
Регистрация: 12.09.2012
Сообщений: 42
14.09.2012, 20:46
mail.ru не получилось отправить. Ошибка. Но это не основная задача. Вопрос такой: как можно сделать так, чтобы если пароль введен неправильно выводилось сообщение об этом. В каком месте? каким образом? использую, вроде, первый код, который был написан в этой теме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2012, 20:46
Помогаю со студенческими работами здесь

Отправить содержимое Edit на определенный e-mail
как в делфи сделать так чтобы написаное в edit1 отправлялось на определенный e-mail

Не могу отправить сообщение на почту mail.ru
Не могу отправить сообщение с помощью SMTP. У меня стоит 10 версия indy. Также на форму кинул компоненты Idsmtp, idmessage. На форме есть...

Как отправить несколько писем на один e-mail?
Как отправить не сколько писм в одну E-mail Зарнее спасибо

Как отправить простое письмо на E-Mail (mail.ru)
Привет, скажите как отправить письмо на определенный email ? Пользователь который отправляет находится на mail.ru отправляется тоже...

Отправить файл на e-mail
Как будет на программированном отправить фаил на мейл в c# Подскажите.Пишу себе книжку с функциями


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru