![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отправки E-mail c использованием почтовой программы [D5, WinXP]
Виталий Гаврилов © (2006-11-26 16:39:00)Не могли бы вы мне дать ссылку на исходник процедуры отправки E-mail по нажатию кнопки c использованием преустановленной почтовой программы (bat, outlook и т.п.). Я работаю в дельфи 5 и у меня Indy не установлен.
Алхимик (2006-11-29 21:14:00) [1]> ASmtpServer??
ASmtpServer - строка, указывающая твой STMP сервер.
Например: smtp.yandex.ru
> Вроде бы нужно пользоваться почтовой программой? Или я что-
> то не понял? :)
Нужна cdosys.dll (идёт в составе MS Outlook, вроде).
http://www.dlldll.ru/cdosys.dll_download.html
Виталий Гаврилов (2006-11-29 20:17:00) [2]ASmtpServer?? Вроде бы нужно пользоваться почтовой программой? Или я что-то не понял? :)
Алхимик (2006-11-29 12:49:00) [3]> [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;
Anatoly Podgoretsky (2006-11-29 00:21:00) [4]> Виталий Гаврилов (28.11.2006 21:41:06) [6]
Не делать литералы более 255 символов.
Виталий Гаврилов (2006-11-28 21:41:00) [5]Пишет String literals may have at most 255 elements что делать?? Прошу помочь?
Виталий Гаврилов (2006-11-28 21:36:00) [6]ShellExecute(Handle, 'open', 'mailto:email1;email2&cc=email3?subject=Это%20тема&body=это%20текст%20письма%0dЭто%20другая%20строка',nil, nil, SW_SHOWNORMAL);
Это текст формирующий письмо, скажите существуют ли ограничения по количеству строк, а то у меня текст письма большой, посоветуйте как можно выйти из положения? И еще вопрос а возможно (если возможно то как) сформировать письмо в виде html файла?
Anatoly Podgoretsky (2006-11-26 17:50:00) [7]> Виталий Гаврилов (26.11.2006 17:38:03) [3]
Ты все таки посмотрел бы протокол mailto: прежде чем так говорить.
Виталий Гаврилов (2006-11-26 17:38:00) [8]uses ShellApi;
{ ... }
ShellExecute(0, nil,' http://delphi.mastak.com',nil,nil,1);
ShellExecute(0, nil,'mailto:delphi@mastak.com',nil,nil,1);
Это понятно, но необходимо чтобы вводился именно определенный текст в сообщение. Например "Привет всем! как дела! Пока!"
guav (2006-11-26 17:24:00) [9]если требуется указать только кому сабж и текст сообщения, то есть ленивый, но рабочий способ -
mailtoпротокол
Dmitrij_K (2006-11-26 17:12:00) [10]Тебе в гугл. Ищи MAPI.
А Indy можно установить самому.