Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-10793
First_May
2003-08-22 10:06
2003.09.04
Офис...


7-10985
Некто2002
2003-06-24 15:23
2003.09.04
Как программно снять процесс?


14-10907
Jim
2003-08-18 07:20
2003.09.04
Мужики! Запарился искать CodeRush для Delphi 7...


1-10818
AkaSaint
2003-08-21 11:59
2003.09.04
if и порядок выполнения условий, разделенных or


1-10740
Valeris
2003-08-19 16:23
2003.09.04
Текстовое поле для ввода айпишника???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский