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

Вниз

Ожидание готовности SMTP   Найти похожие ветки 

 
Прохожий ©   (2003-08-11 08:19) [0]

Короче такая проблема:
пишу прогу, которая отправляет мейлы, через SmtpCli (из пакета ICS). Всё нормально, но отправки я делаю в теле цикла, а т.к. отправка занимает некоторое время, то при выполнении SmtpCci.Connect получаем исключение (SMTP компонент не готов). Если поставить перед SmtpCci.Connect ожидание завершения преведущей сесии ( repeat until SendFlag;) то получаем висящую прогу. Может всё проще?


 
Nikolay M. ©   (2003-08-11 10:23) [1]


> поставить перед SmtpCci.Connect ожидание завершения преведущей
> сесии

Может я еще не проснулся, но слова "завершения преведущей сесии" нме подсказывают, что отправка писем идет асинхронно. У ICS почту не юзал, но что-то подсказывает, что должно быть свойство, отвечающее за (а)синхронную отправку почты. Btw, протокол какой? POP/IMAP?


 
Прохожий ©   (2003-08-11 10:46) [2]

В том то и дело..
Если бы можно просто закидывать в компонент данные и ждать, когда оно само прокачаеться то было бы круто. Но похоже так не получиться. По крайней мере с SmtpCli. У него для каждого нового мейла нужно делать новый коннект, причем старый должен заврешиться ранее.
Протокол SMTP


 
Proger_XP ©   (2003-08-11 10:48) [3]

У меня выдает ошибку при коннекте NetWork UnReable<< вроде


 
Nikolay M. ©   (2003-08-11 10:50) [4]


> Протокол SMTP

Тьфу, точно не проснулся :)))

Рекомендую поставить SakEmail - пользуюсь не первый год, с такой проблемой не сталкивался. Если, конечно, весь проект переделывать не нужно будет.


 
Прохожий ©   (2003-08-11 11:00) [5]

>Proger_XP ©
Да не. Конектиться нормально.

>Nikolay M. ©
SakEmail - это что за зверь? Есть линк? А проект я уже готов перепахать. Всё равно выхода не вижу


 
Прохожий ©   (2003-08-11 11:01) [6]

>Proger_XP ©
Да не. Конектиться нормально.

>Nikolay M. ©
SakEmail - это что за зверь? Есть линк? А проект я уже готов перепахать. Всё равно выхода не вижу


 
Nikolay M. ©   (2003-08-11 11:16) [7]


> SakEmail - это что за зверь? Есть линк?


http://www.delphikingdom.ru/tower/c007.htm


 
Прохожий ©   (2003-08-11 11:32) [8]

>Nikolay M. ©
Не мне это не подойдёт :(
Невозможно отправить письмо с пустым полем FROM - это убийсво


 
Proger_XP ©   (2003-08-11 11:33) [9]

Так что мне делать?


 
Anatoly Podgoretsky ©   (2003-08-11 11:41) [10]

Прохожий © (11.08.03 11:32)
Пустых полей FROM не должно быть, это только для спаммеров


 
Прохожий ©   (2003-08-11 11:41) [11]

>Proger_XP ©
можешь кусок кода показать?


 
Nikolay M. ©   (2003-08-11 12:28) [12]


> Невозможно отправить письмо с пустым полем FROM

Исходники поставляются. Найти нужное место в коде - 1 минута, плюс столько же на исправление.

ПЫС.
А зачем тебе пустое FROM? Робота-спамера пишешь? :)


 
panov ©   (2003-08-11 12:37) [13]

Где-то в программе:
...
sm.Open;
...

procedure TForm1.SmRequestDone(Sender: TObject; RqType: TSmtpRequest;
Error: Word);
begin
case rqType of
smtpConnect:
begin
lb.Items.Add("smtpConnect");
end;
smtpHelo:
begin
lb.Items.Add("smtpHelo");
end;
smtpMailFrom: lb.Items.Add("smtpMailFrom");
smtpVrfy: lb.Items.Add("smtpVrfy");
smtpRcptTo: lb.Items.Add("smtpRcptTo");
smtpData: lb.Items.Add("smtpData");
smtpQuit:
begin
lb.Items.Add("smtpQuit");
// Вот здесь снова письмо формируешь и выдаешь Open
end;

smtpRset: lb.Items.Add("smtpRset");
smtpOpen:
begin
lb.Items.Add("smtpOpen");
sm.Mail;
end;
smtpMail:
begin
lb.Items.Add("smtpMail");
sm.Quit;
end;
smtpEhlo: lb.Items.Add("smtpEhlo");
smtpAuth: lb.Items.Add("smtpAuth");
smtpCustom: lb.Items.Add("smtpCustom");
end;


 
Прохожий ©   (2003-08-11 13:17) [14]

> panov ©
Как то геморойно получаеться, если я буду формировать письмо в процедуре оработки ответов SMTP.....:(


 
panov ©   (2003-08-11 13:21) [15]

>Прохожий © (11.08.03 13:17) [14]

Так компонент такой - события используются.

Как только выполнен метод Quit, можно снова формировать сообщение.

На самом деле, достаточно просто, если убрать лишюю обработку...


 
Прохожий ©   (2003-08-11 13:53) [16]

А есть SMTP компонент, в который можно закинуть кучу мелов и он будет разгребать. Сам ?


 
panov ©   (2003-08-11 14:00) [17]

>Прохожий © (11.08.03 13:53) [16]

Сомнительно... это будет уже SMPT-сервер-) (SendMail)


 
Прохожий ©   (2003-08-11 14:02) [18]

>panov ©
Нет, сынок, это фантастика :)))


 
app ©   (2003-08-11 14:05) [19]

Прохожий © (11.08.03 13:53) [16]
Есть, любой в Н экземпляров запускаешь и разгребаешь.


 
Nikolay M. ©   (2003-08-11 14:08) [20]

Посмотри описание заголовка RFC-822. В поле TO указываешь через запятую несколько адресов и все работает.

ПС
Точно спамера пишет :))


 
Прохожий ©   (2003-08-11 14:15) [21]

>Nikolay M. ©
Спасмеры маст дай!
Пишу робота, но не для спама, а для рассылки корпаративных новостей. А нет поля From - это для того, чтобы юзвери инфу воспринимали, а не отвечали на неё


 
Прохожий ©   (2003-08-11 14:26) [22]

>app ©
Ты предлагаешь мне создать туеву хучу потоков?


 
panov ©   (2003-08-11 14:28) [23]

>Прохожий © (11.08.03 14:26) [22]
>app ©
Ты предлагаешь мне создать туеву хучу потоков?


Совершенно правильное решение(одно из).


 
Anatoly Podgoretsky ©   (2003-08-11 14:34) [24]

Прохожий © (11.08.03 14:15) [21]
Каждая трансакция требует отдельно подключения, но ICS то этого не требует, один поток на все, у него событийная модель, с асинхронной работой. Как конкретно делать не скажу, для этого нужны длительныые иследования, а я с ним не работаю.


 
Прохожий ©   (2003-08-11 14:35) [25]

>panov ©
В принципе можно для каждого письма свой поток организовать, но этоже какой тормоз для системы...?


 
Anatoly Podgoretsky ©   (2003-08-11 14:43) [26]

Прохожий © (11.08.03 14:35) [25]
Тормоза не может быть, поскольку у тебя потоки в основном будут спать, не так скорость у Сети


 
Прохожий ©   (2003-08-11 14:53) [27]

Ну вот, стало совсем ничего непонятно :(


 
Anatoly Podgoretsky ©   (2003-08-11 14:57) [28]

Тогда плохо дело


 
Ketmar ©   (2003-08-11 16:29) [29]

тормоз и плохост может быть, если рассылаются тысячи (а то и десятки тысяч) писем, и все одновременно. чтой-то я сумлеваюсь, что имеет мысто быть такой bulkimail %-)
в остальном -- смело заводоить потоки и не напрягаться %-)


 
Прохожий ©   (2003-08-14 10:35) [30]

>Ketmar ©
смело заводоить потоки и не напрягаться %-)
Так то оно так, но блин я их как как чёрт ладана избегаю :)
Знаю об этом только по наслышке и что куда втыкать не знаю :(
Мож кто направит на путь истенный ?


 
panov ©   (2003-08-14 10:40) [31]

>Прохожий © (14.08.03 10:35) [30]

Так то оно так, но блин я их как как чёрт ладана избегаю :)
Знаю об этом только по наслышке и что куда втыкать не знаю :(
Мож кто направит на путь истенный ?


Когда-то же надо пробовать изучать?
для начала почитай пару статей на этом сайте, потом посмотри примеры, попытайся организовать в потоке что-либо свое.
Затем уже переходи к сокета...


 
Прохожий ©   (2003-08-14 10:42) [32]

Статейки видел, даже читал, но как то не совсем там всё понятно..
Ну а вообще похоже без этого никак...
Придёться читать мануал...


 
panov ©   (2003-08-14 10:46) [33]

Бери и простой поток делай. По ходу появления вопросов - задавай


 
Прохожий ©   (2003-08-14 10:51) [34]

Ладно, раз другого выхода нет. Буду пробовать


 
Yakudza ©   (2003-08-14 11:10) [35]

А чего ты Indy не юзаешь ?
Я сделал корпоративный рассылщик на нем, все намана работает.


 
Прохожий ©   (2003-08-14 14:09) [36]

>Yakudza ©
А чего ты Indy не юзаешь ?
Я сделал корпоративный рассылщик на нем, все намана работает.


В нём нет таких проблем ?


 
имя   (2003-08-14 14:29) [37]

Удалено модератором


 
имя   (2003-08-14 14:32) [38]

Удалено модератором


 
имя   (2003-08-14 14:32) [39]

Удалено модератором


 
имя   (2003-08-14 14:33) [40]

Удалено модератором



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

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

Наверх




Память: 0.56 MB
Время: 0.039 c
6-10848
leonidus
2003-06-29 00:38
2003.09.04
Странности работы NMHTTP


3-10555
Петр
2003-08-08 05:10
2003.09.04
АDO и ACCESS


7-10986
Дмитрий777
2003-06-24 13:37
2003.09.04
Передавать файлы по частям


3-10609
RDA
2003-08-13 12:27
2003.09.04
Текстовое сообщение с сервера для клиента


14-10905
Zhenka
2003-08-12 09:11
2003.09.04
Помогите разобраться с файлами