![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как написать клиент отправки почты под ИНДИ [D6, Win95/98]
Diaskhan © (2005-01-12 14:32:00)Я хотел написать клиент отправки почты.
Использую D6 и Инди.
Но у меня возникает проблема.
Приконективается нормально.
А вот если письмо отправлять,то возникает ошибка какoй-то аутентификации.
Может это связано с тем что надо заполнить поле "от кого", тоесть указать свой mail.
(примечание -сервер исходящей почты -smtp.mail.ru)
Кстати The BAT-тоже написан на дельфях.
Кто может ,Объесните вчем фишка отправки message.
Screw_aka_Viktor (2005-01-13 17:31:00) [21]Программы без глюков не бывает и соответственно компонентов :) Но вот по поводу инди я слышал только положительные отзывы и сам не сталкивался с глюками! Вот FastNET -это да-а-а через него можно намного проще организовать подобные вещи но вот с глюками конешно замучаешся. FastNET довольно глючный потому я тебе и рекомендовл инди.
Eraser (2005-01-13 16:37:00) [22]Diaskhan
inttostr и strtoint
Я тоже написал, даже на MASM, только под DOS ;-))
Diaskhan (2005-01-13 14:36:00) [23]Большое спасибо Screw_aka_Viktor,Еще не смотрел но разберусь,
А не которые говорили что в D6 INDY глючит.
Screw_aka_Viktor (2005-01-13 14:18:00) [24]Глюки то есть в Indy но Diaskhan'у нужно сделать аутентификацию на SMTP серванте. Этот сервант требует её!
Нужно это делать подобным образом:
with IdMessage1 do
begin
Body.Assign(Memo1.Lines);//Текст сообщения
From.Text := ReadIni('Smtp','FromAdress','Options.ini');//От кого
Subject :='Screw aka Viktor' ;//Тема в виде рекламы
//charset:='ISO-8859-1';
//charset:='US-ASCII';
Recipients.EMailAddresses := 'Petrov@Mail.ru';
//Приоритет письма
Priority := TIdMessagePriority(mpHighest);
//Получатель точной копии
CCList.EMailAddresses := ReadIni('Smtp','FromAdress','Options.ini');
//Получатель слепой копии
//BccList.EMailAddresses :=ReadIni('Smtp','FromAdress','Options.ini');
end;
idSMTP1.Host := ReadIni('Smtp','Host','Options.ini');//Сервер SMTP
idSMTP1.UserID := ReadIni('Smtp','UserID','Options.ini');//Логин
idSMTP1.Password := ReadIni('Smtp','Password','Options.ini');//Пароль
idSMTP1.Port := 25;//Порт SMTP сервера
idSMTP1.MailAgent := 'Bulbulator';//Имя агента
case StrToInt(ReadIni('Smtp','Authentification','Options.ini')) of
0: idSMTP1.AuthenticationType := atNone;
1: idSMTP1.AuthenticationType := atLogin; {Simple Login}
end;
try
If idSMTP1.connected then //Если имеется коннект значит дисконнект
idSMTP1.Disconnect;
idSMTP1.Connect;
idSMTP1.Send(IdMessage1);
except
idSMTP1.Disconnect;
statusbar1.panels[1].text:='Ошибка...';
Application.MessageBox(Pchar('У Вас имеются проблемы со связью!'+#10+'Читай FAQ в HELP''e.'),'Мощная ошибка.',MB_OK or MB_ICONERROR);
exit;
end;
idSMTP1.Disconnect;
statusbar1.panels[1].text:='Улетело: '+Edit1.Text;
...
Загляни сюда: http://forum.sources.ru/index.php?showtopic=75868
Diaskhan (2005-01-13 14:05:00) [25]TO Eraser ©
Дорошой Cтиратель ©,можете стирать свой прочерки, но не меня ,друг мой..
Между прочем я написал свою процу inttostr и strtoint,А вы можете этим похвастаться ??
TO Alexander Panov ©
Посоветуйте пожалуиста другой vcl,(или дайте ссылку).
Где скачать ИНДИ 9.???????????????????
//А то накладно на моей машине ставить D7,
//Все таки 233mhz и 64mem.
Так почему ошибка возникает при отправке сообщения, а не при конекте.
Ведь авторизация идет при конекте ,ну если пароль или логин не тот.
Или 2 авторизация, когда отправляешь message тоже нужна. Или это условности smtp.
{Как много ИЛИ}
А вобще Я думаю мне надо достать хороший book по сетевым протоколам.
А то уж больно много вопросов задаю..
Наверное, каждый сам, должен проводить себе ЛИКБЕЗ.. хотя это несущественно.
Да очем же думал Borland когда запихивал indy 8 в D6.
Хотя они не виноваты. Как говорится ненравится - пиши свой....
А то уж больно заюзался.
-exit
Eraser (2005-01-12 15:02:00) [26]Alexander Panov ©
Извини я случайно адресовал предыдущую месагу тебе, а хотел Diaskhan'у ;-)))
Eraser (2005-01-12 14:55:00) [27]Alexander Panov ©
Очевидно ты начинаешь новый проект. Советую тебе начинать его на Delphi 2005 и Indy 10.
Alexander Panov (2005-01-12 14:43:00) [28]Diaskhan (12.01.05 14:32)
Обнови Indy до версии 9(как минимум).
В версии 8, поставляемой с D6 есть глюк, связанный с авторизацией.
Eraser (2005-01-12 14:35:00) [29]Надо ввсети пароль к твоему аккаунту на сервере.