как в Delphi7 отослать письмо с аттачем?

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
allo4la
Сообщения: 15
Зарегистрирован: 02 авг 2004, 11:48

17 сен 2004, 18:16

само письмо отослать могу, а вот файл к нему...
allo4la
Сообщения: 15
Зарегистрирован: 02 авг 2004, 11:48

17 сен 2004, 21:10

или несколько файлов
allo4la
Сообщения: 15
Зарегистрирован: 02 авг 2004, 11:48

18 сен 2004, 18:18

я знаю, что это делается с помощью переменной типа TidAttachment
и, возможно, ее методом Create.
в Help'e на эту тему ничего не нашла
allo4la
Сообщения: 15
Зарегистрирован: 02 авг 2004, 11:48

27 сен 2004, 16:01

разобралась.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

29 сен 2004, 08:48

allo4la, может Вы закинете сюда решение?
Это сделает форум более содержательным.
Спасибо.
allo4la
Сообщения: 15
Зарегистрирован: 02 авг 2004, 11:48

15 окт 2004, 22:15

Код: Выделить всё

procedure TForm1.Button1Click(Sender: TObject);
var at:TidAttachment;
    mes:tidmessage;
    i:integer;
begin
 button1.Enabled:=false;
 idSMTP1.Host:=Edit1.Text;
 idSMTP1.Port:=StrToInt(Edit2.Text);
 mes:=TIdMessage.Create(nil);
 mes.Body:=Memo1.Lines; //sendbody
 //mes.Date:=date;
 mes.ContentType:=texttype[CheckBox1.Checked];
 mes.Subject:=Edit3.Text;
 mes.From.Address:=Edit4.Text;
 //mes.From.Name:=Edit5.Text;
 mes.Recipients.EMailAddresses:=Edit6.Text;
 mes.IsEncoded:=true;
 {!!!СМОТРИМ СЮДА!!!}at:=TIdAttachment.Create(mes.MessageParts,'C:\Projects\Delphi\sendmail\file1.jpg');
 at:=TIdAttachment.Create(mes.MessageParts,'C:\Projects\Delphi\sendmail\file2.txt');
 {if memo2.Lines.Count>0 then
  begin
  mes.IsEncoded:=true;
    for i:=0 to memo2.Lines.Count do
      begin
        at:=TIdAttachment.Create({MessageParts}{mes.MessageParts,memo2.Lines[i]);
        at.Free;
      end;

  end;}
     try
      idSMTP1.Connect();
        if idSMTP1.Connected then
        begin
          idSMTP1.Send(mes);
          showmessage('отослал');
        end
        else showmessage('не приконнектился');
      finally
        IdSMTP1.Disconnect;
      end;
at.Free;
button1.Enabled:=true;
end;
Кажется, так.
пожалуйста.
Ответить