Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизКак бороться с Найти похожие ветки
← →
andrey_pst (2002-10-07 10:01) [0]Программа отправляет по заданным e-mail письма,
после отправки 6-го письма выскакивает ошибка
"10057 Socket is not connected"
Подскажите, где я накосячил ?
(Delphi5, Win98).
Вот кусок кода:
for i := 1 to CountRoamers do
begin
...
with NMSMTP1 do
begin
Host := tHost;
TimeOut := 20000;
UserID := tUserID;
PostMessage.ToAddress.Text := EMailClient;
PostMessage.FromAddress := "andrey_pst@rambler.ru";
PostMessage.FromName := "andrey_pst@rambler.ru";
PostMessage.ReplyTo := "andrey_pst@rambler.ru";
PostMessage.LocalProgram := "Microsoft Outlook";
PostMessage.Subject := "The documents on internal roaming.";
PostMessage.Body.Text := "The documents on internal roaming.";
Connect;
SendMail;
Disconnect;
end;
...
end;
← →
andrey_pst (2002-10-07 11:55) [1]Подтолкните хоть в нужном направлении
← →
Vitaly (2002-10-07 12:36) [2]outA: TOutlookApplication;
MI: TMailItem;
outA.Connect;
dir := ini.ReadString("dir", "out", "");
fr := FindFirst(dir+"\*.*", faAnyFile and (not faDirectory), f);
if fr = 0 then begin
history("Создаем письмо...");
mi.ConnectTo(outA.CreateItem(olMailItem) as _DMailItem);
mi.Recipients.Add(ini.ReadString("mail", "to", ""));
while fr = 0 do begin
history("отправляем файл " + dir + f.Name);
mi.Attachments.Add( dir + f.Name,
emptyParam, emptyParam, emptyParam);
if not DeleteFile( dir + f.Name )
then history("ФАЙЛ " + dir + f.Name + " - ОШИБКА УДАЛЕНИЯ!");
fr := FindNext(f);
end;
FindClose(f);
mi.Send;
history("Ok.");
end;
(outA.ActiveExplorer.CommandBars as CommandBars)["Standard"].
Controls["Отправить/полу&чить"].Execute;
outA.Disconnect;
← →
andrey_pst (2002-10-07 12:43) [3]>> Vitaly
дико не хочется привязывать программу к определенной почтовой системе.
а если стоит TheBat, например ?
← →
sask (2002-10-07 12:55) [4]Попробуй Connect и Disconnect вынести за пределы цикла - может поможет...
← →
sask (2002-10-07 12:57) [5]А вообще, лучше забыть про вкладку FastNet :)
← →
andrey_pst (2002-10-07 13:00) [6]>>sask
>>вынести за пределы цикла
а как, допустим N клиентам письма отправить ? Цикл для этого и делался, плюс вложения в письмах разные... Так что всем за 1 раз отправить нельзя.
← →
andrey_pst (2002-10-07 13:01) [7]>> sask
>> лучше забыть про вкладку FastNet
Можете предложить альтернативные варианты ?
← →
Vitaly (2002-10-07 13:02) [8]>andrey_pst © (07.10.02 12:43)
Да, что-то я не из той оперы забабахал!
P.S.
А, ведь видел NMSMTP.
В общем, хотел типа sask"a предложить.
← →
sask (2002-10-07 13:07) [9]>> andrey_pst
>>а как, допустим N клиентам письма отправить ? Цикл для этого и >>делался, плюс вложения в письмах разные... Так что всем за 1 >>раз отправить нельзя.
Host же у тебя один и тот же => коннектишся к нему один раз и отправляешь сколько угодно писем - потом делаешь disconnect...
← →
andrey_pst (2002-10-07 13:10) [10]пардон - я перегрелся :)
← →
sask (2002-10-07 13:16) [11]А по поводу альтернативных вариантов - Indy
(но это наверное уже дело вкуса). У Indy хоть исходники открытые.
← →
andrey_pst (2002-10-07 13:55) [12]>>sask
>>Host же у тебя один и тот же => коннектишся к нему один раз ...
помогло, спасибо
← →
Ryser (2002-10-07 14:43) [13]Была похожая проблема. После "отправки" очередного сообщения, причем в начале работы цикла, все вываливалось на эту ошибку.
На самом деле письмо фактически еще не ушло, а цикл едет дальше.
Можно попробовать поставить флаг на событие NMSMTP1Success Start:=True;
и проверять его в цикле отправки. Если ушло - идем дальше...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c