Форум: "Потрепаться";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
ВнизОжидание готовности 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;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.01 c