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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2012, 16:48   #1
leffken
Новичок
Джуниор
 
Регистрация: 22.07.2012
Сообщений: 2
По умолчанию Отправка файла по почте

Всем доброго времени суток .
пишу на bds 2006 delphi
ищу по сети уже довольно много времени : как сделать отправку файла по почте . находил кучу исходников , но там либо что то в uses писать надо , что конкретно не написано . Либо просто пишут все работает(от куда беру исходник) , копирую код все подсвечивается красным(не известное что то ) . подскажите как сделать отправку файла по почте от и до ...
желательно что бы это было как из консольного приложения .
заранее благодарен .

Последний раз редактировалось leffken; 04.08.2012 в 16:58.
leffken вне форума Ответить с цитированием
Старый 10.08.2012, 14:52   #2
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Как то так, выдрано с контекста:
Код:
  function SendMes(AMes, ASubj, AFrom, APwd, ATo, AAttach: String; var AErrMes: String): Boolean;
  var
    idSMTP: TIdSMTP;
    IdMessage: TIdMessage;
    idTextPart : TIdText;
    idAtt: TIdAttachmentFile;
  begin
    Result := False;

    idSMTP := TIdSMTP.Create;
    idSMTP.Host := fmMain.edHost.Text;
    idSMTP.Port := fmMain.sePort.Value;
    idSMTP.Username := AFrom;
    idSMTP.Password := APwd;

    IdMessage := TIdMessage.Create(nil);
    IdMessage.Recipients.EMailAddresses := ATo;
    IdMessage.From.Address := AFrom;
    IdMessage.Subject :='';
    IdMessage.ExtraHeaders.Add('Subject: ' + ASubj);
    //IdMessage.CharSet := 'windows-1251';
    //IdMessage.ContentType := 'text/html';
    IdMessage.ContentType := 'multipart/mixed';
    IdMessage.Encoding := meMime;
    //IdMessage.Body.Text := AMes;

    if not fmMain.chbNoBody.Checked then
    begin
      idTextPart := TIdText.Create(IdMessage.MessageParts, nil);
      idTextPart.ContentType := 'text/html';
      idTextPart.CharSet := 'windows-1251';
      idTextPart.Body.Add(AMes);// описание в html виде
      //idTextPart.ParentPart := 0;
    end;

    if FileExists(AAttach) then
    begin
      idAtt := TIdAttachmentFile.Create(IdMessage.MessageParts, AAttach);
      idAtt.ContentType := 'application/octet-stream';
      idAtt.FileName := AAttach;
    end;


    //SMTPMsg.IsEncoded := True;

    try
      idSMTP.Connect;
      idSMTP.Send(IdMessage);
      idSMTP.Disconnect;
      Result := True;
      //Log('Уведомление отослано.');
      //SaveLog('Уведомление отослано.', ChangeFileExt(ParamStr(0), '.log'), True, False);
    except
      on E: Exception do
      begin
        AErrMes := E.Message;
        //Log('Ошибка отправки уведомления: ' + E.Message);
        //SaveLog('Ошибка отправки уведомления: ' + E.Message, ChangeFileExt(ParamStr(0), '.log'), True, False);
      end;
    end;
    if not fmMain.chbNoBody.Checked then idTextPart.Free;
    if FileExists(AAttach) then idAtt.Free;
    IdMessage.Free;
    idSMTP.Free;
  end;
Usov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка больших файлов по почте pu4koff Софт 6 17.07.2012 19:35
сохранение в PDF и отправка по почте strannick Microsoft Office Excel 26 01.04.2012 14:43
Вопрос по TService и отправка по почте. Sti.k Общие вопросы Delphi 2 10.06.2010 13:39
отправка аипи+параметр по почте (Delphi/PHP) dyonysos Помощь студентам 0 05.10.2009 19:12
отправка файла по почте DeDoK Работа с сетью в Delphi 1 10.11.2008 10:13