Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

отправки E-mail c использованием почтовой программы   Найти похожие ветки 

 
Виталий Гаврилов ©   (2006-11-26 16:39) [0]

Не могли бы вы мне дать ссылку на исходник процедуры отправки E-mail по нажатию кнопки c  использованием преустановленной почтовой программы (bat, outlook и т.п.). Я работаю в дельфи 5 и у меня Indy не установлен.


 
Dmitrij_K   (2006-11-26 17:12) [1]

Тебе в гугл. Ищи MAPI.
А Indy можно установить самому.


 
guav ©   (2006-11-26 17:24) [2]

если требуется указать только кому сабж и текст сообщения, то есть ленивый, но рабочий способ - mailto протокол


 
Виталий Гаврилов ©   (2006-11-26 17:38) [3]

uses ShellApi;
{ ... }
ShellExecute(0, nil,"http://delphi.mastak.com",nil,nil,1);
ShellExecute(0, nil,"mailto:delphi@mastak.com",nil,nil,1);

Это понятно, но необходимо чтобы вводился именно определенный текст в сообщение. Например "Привет всем! как дела! Пока!"


 
Anatoly Podgoretsky ©   (2006-11-26 17:50) [4]

> Виталий Гаврилов  (26.11.2006 17:38:03)  [3]

Ты все таки посмотрел бы протокол mailto: прежде чем так говорить.


 
Виталий Гаврилов ©   (2006-11-28 21:36) [5]

ShellExecute(Handle, "open", "mailto:email1;email2&cc=email3?subject=Это%20тема&body=это%20текст%20письма%0dЭто%20другая%20строка",nil, nil, SW_SHOWNORMAL);
Это текст формирующий письмо, скажите существуют ли ограничения по количеству строк, а то у меня текст письма большой, посоветуйте как можно выйти из положения? И еще вопрос а возможно (если возможно то как) сформировать письмо в виде html файла?


 
Виталий Гаврилов ©   (2006-11-28 21:41) [6]

Пишет String literals may have at most 255 elements что делать?? Прошу помочь?


 
Anatoly Podgoretsky ©   (2006-11-29 00:21) [7]

> Виталий Гаврилов  (28.11.2006 21:41:06)  [6]

Не делать литералы более 255 символов.


 
Алхимик ©   (2006-11-29 12:49) [8]

> [0] Виталий Гаврилов ©   (26.11.06 16:39)
> Не могли бы вы мне дать ссылку на исходник процедуры отправки
> E-mail по нажатию кнопки c  использованием преустановленной
> почтовой программы (bat, outlook и т.п.). Я работаю в дельфи
> 5 и у меня Indy не установлен.

procedure SendEmail(ASmtpServer, AFrom, ATo, ASubject, ABody: string; AKindBody : boolean);
var
  Msg: variant;
begin
  Msg := CreateOleObject("CDO.Message");
  try
     Msg.BodyPart.Charset := "windows-1251";
     Msg.From := AFrom;
     Msg. to := ATo;
     Msg.Subject := ASubject;
     if AKindBody then
        Msg.TextBody := ABody
     else
        Msg.HTMLBody := ABody;
     Msg.Configuration.Fields.Item["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value
        := 2;
     Msg.Configuration.Fields.Item["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value
        := ASmtpServer;
     Msg.Configuration.Fields.Item["http://schemas.microsoft.com/cdo/configuration/smtpserverport"].Value
        := 25;
     Msg.Configuration.Fields.Update;
     Msg.Send;
  except
     on E: EOleException do begin
        MessgDLG("Ошибка отправки письма." + #13#10 + "Сообщение: " +
           E.Message, mtError, [mbOk], 0);
     end;
  end;
end;


 
Виталий Гаврилов ©   (2006-11-29 20:17) [9]

ASmtpServer?? Вроде бы нужно пользоваться почтовой программой? Или я что-то не понял?  :)


 
Алхимик ©   (2006-11-29 21:14) [10]

> ASmtpServer??

ASmtpServer - строка, указывающая твой STMP сервер.
Например: smtp.yandex.ru
> Вроде бы нужно пользоваться почтовой программой? Или я что-
> то не понял?  :)

Нужна cdosys.dll (идёт в составе MS Outlook, вроде).
http://www.dlldll.ru/cdosys.dll_download.html



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1162460096
Дмитрий Белькевич
2006-11-02 12:34
2006.12.17
Условная компиляция нескольких форм


3-1160596997
БогданБ
2006-10-12 00:03
2006.12.17
Поиск по похожему номеру


15-1164264232
Юрий С.А.
2006-11-23 09:43
2006.12.17
Русский язык


15-1164284577
alexsis
2006-11-23 15:22
2006.12.17
Игра Blood


2-1164609598
alex810
2006-11-27 09:39
2006.12.17
Компонент Query