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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2012, 17:23   #1
wnyp
 
Регистрация: 20.03.2012
Сообщений: 6
По умолчанию Как получить отчет о доставке e-mail

Добрый день. Подскажите как получить отчет о доставке письма? Отправляю почту при помощи библиотеки Synapse. Вот код процедуры отправки :
Код:
Procedure TmodTool.SendMail (Host, Subject, pTo, From , login,password : string;strAttach : TStringList);
var Msg : TMimeMess;
    StringList : TStringList;
    MIMEPart : TMimePart;
    j : integer;
    i : integer;
    iGauge: integer;
begin
  Msg := TMimeMess.Create;
  StringList := TStringList.Create;
 With uMain.frmMain do begin
  sbMain.Panels.Items[1].Text := 'Подготовка к отправке!';
  try
    sbMain.Panels.Items[1].Text := 'Подготовка к отправке сообщения!';
    try
    Msg.Header.CustomHeaders.Add('Return-Receipt-To: '+From); // заголовок для отчета о ДОСТАКЕ
    Msg.Header.Subject := Subject;
    Msg.Header.From := From;
    Msg.Header.ToList.Add(pTo);
    MIMEPart := Msg.AddPartMultipart('Mixed', nil);
    StringList.Add(sTextFormat);
    StringList.Add(' ');
    Msg.AddPartText(StringList, MIMEPart);
    try
    If strAttach.Count <> 0 then
    begin
      iGauge := 100 div strAttach.Count;
      For j := 0 to strAttach.Count-1 do
      begin
        Msg.AddPartBinaryFromFile(strAttach.Strings[j],MIMEPart);
        Forms.Application.ProcessMessages;
        Gauge1.AddProgress(iGauge);
      end;
    end;
    except
    CreateLog('Ошибка при попытке прикрепить файл ' + strAttach.Strings[i]);
    If IniTool.ReadString('user', 'admin', '') = 'ok' then ShowMessage('Ошибка при попытке прикрепить файл ' + strAttach.Strings[i] + '!');
   end;{end try-except}
    Msg.Header.CustomHeaders.Add('Disposition-Notification-To: '+From); // заголовок для отчета о ПРОЧТЕНИИ
    Msg.Header.CustomHeaders.Add('X-Confirm-Reading-To: '+From);// заголовок для отчета о ПРОЧТЕНИИ
    Msg.EncodeMessage;
    smtpsend.SendToRaw(From, pTo, Host, Msg.Lines, login, password);
   finally
   Msg.Free;
   StringList.Free;
   end;
   If tbJournal.Enabled=False then
   begin
     Application.Initialize;                                    //
     Application.CreateForm(TfrmJournal, frmJournal);
   end;
   CreateLog('Сообщение отправлено!');
   uMain.frmMain.sbMain.Panels.Items[1].Text := 'Сообщение отослано!';
   uMain.frmMain.Gauge1.Progress := 0;
   except
   CreateLog('Ошибка при отсылке сообщения!');
   ShowMessage('Ошибка при отсылке сообщения!');
   sbMain.Panels.Items[1].Text := '';
   Exit;
  end;
 end;
end;
Нагуглил что заголовок Msg.Header.CustomHeaders.Add('Retur n-Receipt-To: '); должен это делать , но у меня не работает . В чем может быть проблема?
wnyp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
txt как отчет omne Microsoft Office Excel 3 31.05.2012 01:07
Как создать отчет? пОЛЯрная Помощь студентам 1 26.11.2010 07:41
обман tcp о нормальной доставке пакета Artem1987 Работа с сетью в Delphi 2 22.11.2010 11:24
MailItemPtr или IMessage как получить e-mail адрес? Iskuzer Общие вопросы C/C++ 0 26.10.2008 14:27