Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кто работал с TNMSMTP ??? [D6, WinXP]


Andrushk ©   (2002-09-10 16:59:00) 

Откликнитесь кто работал, я вопрос вам задам, а то что-то никто мне подсказать не может, такое чувство что никто этот компонент и не ипользует.

Может есть какой-то более хороший компонент? Подскажите если так.


savva   (2002-09-11 14:24:00) [1]

если уж твоя программка очень уверена что лезет на тот сервер на какой надо, то делай
while not NMSMTP1.Connected do begin
try
NMSMTP1.Connect;
except
{тут делаешь все что твоей душе будет
угодно, например задержку секнд на 5,
и никакого сообщения помимо твоей воли никуда не "вывалится" }
end;
end;

а дальше по цепочке

procedure TForm1.NMSMTP1Connect(Sender: TObject);
begin
NMSMTP1.SendMail;
end;

тогда если все параметры верны - то в конце концов коннект свершится:)

а в обработчиках ошибок, как еще 1 вариант, подставляй верные значения параметров


Andrushk   (2002-09-10 18:23:00) [2]

я нашел какой обработчик срабатывает, скажем при неверном UserID, и сделал там Handled := TRUE;
- я даже кстати где-то видел пример обработки этой ошибки

короче не помогает

можно знаешь чего сделать, в обработчике поставить верный UserID и сделать Handled := TRUE; - вот тогда все заработает, а протсо Handled := TRUE; - не поможет


savva   (2002-09-10 18:13:00) [3]

во всех обработчиках ошибок этого компонента есть var handled: Boolean;которая и отвечает за дальнейшую обработку ошибок. Что ошибка дальше тебя не проходила сделай Handled := TRUE;


Andrushk   (2002-09-10 18:01:00) [4]

блин, никто не кричит, я совершенно спокойно спрашивал, просто чего мучаться вопрос формулировать если помогать некому

так вот вопрос:

мне надо, чтобы программа, которая будет отправкой почты заниматься продолжала работу независимо от всяких неурядиц, в том числе и если потеряется связь с сервером, просто она должна подождать и попробовать отправить почту снова

если хотя бы один из параметров:
Host
Port
UserID
окажется неверным, то при вызове connect выдается сообщение об ошибке, прям так вываливается окно с ошибкой и чтобы программа продолжила работу надо нажать ОК, как сделать чтобы это окно не вываливалось???? я хочу сам обрабатывать ошибки, мне надо только знать что была ошибка, и не надо никаких сообщений на экран, тем более возникающих против моей воли


zx   (2002-09-10 17:58:00) [5]

NMSMTP1.Host := Edit1.Text; //Почтовый сервер
NMSMTP1.UserID := Edit2.Text; //Идентификатор пользователя
NMSMTP1.PostMessage.ToAddress.Text := Edit3.Text; //Куда отправляется сообщение
NMSMTP1.PostMessage.FromAddress := Edit4.Text; //Адрес отправителя
NMSMTP1.PostMessage.Subject := Edit5.Text;; //Тема сообщения
NMSMTP1.PostMessage.Body.AddStrings(Memo1.Lines);
NMSMTP1.PostMessage.LocalProgram:="E-mail";
NMSMTP1.Connect; //Соединение с сервером
NMSMTP1.SendMail; //Отправка сообщения
NMSMTP1.Disconnect;


savva   (2002-09-10 17:03:00) [6]

ты бы вместо того чтоб кричать - вопрос бы задал..


Наверх

Титульная страница Поиск, карта сайта Написать письмо