Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Как написать клиент отправки почты под ИНДИ   Найти похожие ветки 

 
Diaskhan   (2005-01-12 14:32) [0]

Я хотел написать клиент отправки почты.
Использую D6 и Инди.
Но у меня возникает проблема.
Приконективается нормально.
А вот если письмо отправлять,то возникает ошибка какoй-то аутентификации.
Может это связано с тем что надо заполнить поле "от кого", тоесть указать свой mail.
(примечание -сервер исходящей почты -smtp.mail.ru)
Кстати The BAT-тоже написан на дельфях.
Кто может ,Объесните вчем фишка отправки message.


 
Eraser ©   (2005-01-12 14:35) [1]

Надо ввсети пароль к твоему аккаунту на сервере.


 
Alexander Panov ©   (2005-01-12 14:43) [2]

Diaskhan   (12.01.05 14:32)

Обнови Indy до версии 9(как минимум).
В версии 8, поставляемой с D6 есть глюк, связанный с авторизацией.


 
Eraser ©   (2005-01-12 14:55) [3]

Alexander Panov ©
Очевидно ты начинаешь новый проект. Советую тебе начинать его на Delphi 2005 и Indy 10.


 
Eraser ©   (2005-01-12 15:02) [4]

Alexander Panov ©
Извини я случайно адресовал предыдущую месагу тебе, а хотел Diaskhan"у ;-)))


 
Diaskhan   (2005-01-13 14:05) [5]

TO Eraser ©
Дорошой Cтиратель ©,можете стирать свой прочерки, но не меня ,друг мой..
Между прочем я написал свою  процу inttostr и strtoint,А вы можете этим похвастаться ??

TO Alexander Panov ©
Посоветуйте пожалуиста другой vcl,(или дайте ссылку).

Где скачать ИНДИ 9.???????????????????
//А то накладно на моей машине ставить D7,
//Все таки 233mhz и 64mem.

Так почему ошибка возникает при отправке сообщения, а не при конекте.
Ведь авторизация идет при конекте ,ну если пароль или логин не тот.
Или 2 авторизация, когда отправляешь message тоже нужна. Или это условности smtp.
{Как много ИЛИ}
А вобще Я думаю мне надо достать хороший book по сетевым протоколам.
А то уж больно много вопросов задаю..
Наверное, каждый сам, должен проводить себе ЛИКБЕЗ.. хотя это несущественно.

Да очем же думал Borland когда запихивал indy 8 в D6.
Хотя они не виноваты. Как говорится ненравится - пиши свой....
А то уж больно заюзался.
-exit


 
Screw_aka_Viktor   (2005-01-13 14:18) [6]

Глюки то есть в 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:36) [7]

Большое спасибо Screw_aka_Viktor,Еще не смотрел но разберусь,
А не которые говорили что в D6  INDY глючит.


 
Eraser ©   (2005-01-13 16:37) [8]

Diaskhan
inttostr и strtoint

Я тоже написал, даже на MASM, только под DOS ;-))


 
Screw_aka_Viktor   (2005-01-13 17:31) [9]

Программы без глюков не бывает и соответственно компонентов :) Но вот по поводу инди я слышал только положительные отзывы и сам не сталкивался с глюками! Вот FastNET -это да-а-а через него можно намного проще организовать подобные вещи но вот с глюками конешно замучаешся. FastNET довольно глючный потому я тебе и рекомендовл инди.


 
Alexander Panov ©   (2005-01-13 17:51) [10]

http://delphimaster.net/view/6-1101376180/


 
Alexander Panov ©   (2005-01-13 17:53) [11]

Diaskhan   (13.01.05 14:05) [5]
Посоветуйте пожалуиста другой vcl,(или дайте ссылку).


http://www.indyproject.org/


 
Diaskhan   (2005-01-16 15:19) [12]

НЕА,НЕА,НЕА,НЕА,НЕА,.
Под D6, idsmttp , непашет, Очень скудно.
Придется юзать другие VCL,
Как говорится Indy хорош, но в данном случае не поможет.
Заранее всем благодарен,
Follow the white rabbit,Neo.


 
Diaskhan   (2005-01-16 15:23) [13]

то Screw_aka_Viktor  
Да у меня ИНДИ ТОЖЕ неПАШЕТ ,на Delphi6.
Даже после приведенного кода.(Скудно)..
Что еще посоветуете Господа Офицеры.


 
Eraser ©   (2005-01-16 17:50) [14]

Diaskhan
Да у меня ИНДИ ТОЖЕ неПАШЕТ ,на Delphi6.

Делфи 6 выпущена много лет назад, и её поддержка нецелесообразна, поэтому советую переходить на delphi 2005. Когда-нибудь это всё равно необходимо будет сделать...


 
Alexander Panov ©   (2005-01-16 18:27) [15]

Diaskhan   (16.01.05 15:23) [13]

В ветке по ссылке этот вопрос решен.
Скачай Indy9 и установи на D6, тогда сможешь работать с mail.ru.

Eraser ©   (16.01.05 17:50) [14]
Делфи 6 выпущена много лет назад, и её поддержка нецелесообразна, поэтому советую переходить на delphi 2005.


Зачем такой бред писать?


 
Eraser ©   (2005-01-16 22:42) [16]

Alexander Panov ©
Зачем такой бред писать?

Я конечно понимаю, что перход на новую версию, это очень не простая процедура, но я придерживаюсь правила- не отставать от последней версии больше чем на 1 версию, т.к. задержка перехода даже в 2 версии, потом может вылется в переписание чуть ли не половины программы.
Дело в том, что разроботчики delphi обычно мало-мальски стараются сделать переход от одной версии к другой безболезненным, но поддержкой совместимости с более старыми версиями они не обеспечивают.
Другой вопрос если переход затрудняет финансовая сторона, тогда не слушайте мои советы ;-))


 
Diaskhan   (2005-01-17 01:18) [17]

Господин Eraser, Ты должно быть издеваешся,
DELPHI 8,или DELPHI 9, на 233 mhz и 64mem.
Да это просто УМОРА.
Как минимум надо ставить 2000,xp.(Очень критично).
Да и впринципе ты Сам понимаеш,что асм есть сила (сам на асме inttostr бадяжил),
А говоришь что, надо переходить на delphi 2005.
Не логично получается.
Можно вообще обойтись с delphi 6.(Это я как USER говорю).
Тут Я надыбал VCl c TORRY.ru (надеюсь это менее критично, чем INDY 9 ставить).
Программист - это не тот кто отмазывается что у  user"a комп старый.
А тот, кто этот древний комп заставит работать.(Цитата старой школы)..


 
Eraser ©   (2005-01-17 13:34) [18]

Diaskhan
Не знаю насчёт 233 и 64, но у меня делфи 7 на Athlon 650MHz и 128 DIMM прекарасно работала. А delphi 5 на Cyrics 120MHz 16SIMM...
Про делфи 8 можно вычеркнуть, т.к. на ней нельзя win32 писать.
Можно вообще обойтись с delphi 6.(Это я как USER говорю).
Если так рассуждать, то можно и Delphi 2 обойтись- компилирует 32 разрядный код. Что ещё надо. Только вот перенести проект на, например .net или что_ещё_они_там_придумают с последних версий будет хоть и не просто, но возможно (пример- delphi 8) а с тех же 6 делфей врядли...


 
Diaskhan   (2005-01-17 14:14) [19]

Дорогой Стиратель (уже дорогой!!!!).
В россии ДОТ-НЭТ, будет как-то продвигаться,а вот в Казахстане.
Большой вопрос.
Да и что говорить.Вопрос- когда ,где и при каких обстоятельствах она будет применятся. Вот приведи пример,что-ли..

>>Другой вопрос если переход затрудняет финансовая сторона, >>тогда не слушайте мои советы ;-))
У меня тоже есть delphi8 ,правда нелицензионный.
А ты хочешь сказать что у тебя delphi7 лицензионный???
Кстати Я не капли не сомневаюсь что ты порядный человек ,Я искренне верю что дома у тебя стоит лицензионный delphi7.
Ты же солидный чел, и не будеш юзать нелегальное ПО.
(Sorry for joke.)

Да И вопрос, Что за DELPHI9 ,и что там,слышно на фронте Borland.
Для чего DELPHI9 нужна будет.

А вообще, тем у кого стоит P4 и DELPHI7 стоит уважать возможность программировать, без усилий.
А то представь Юзера(программера) который говорит
-А я лучше игру поиграю. (Как мне обидно)


 
Eraser ©   (2005-01-17 14:58) [20]

Diaskhan
В пердыдущем своём сообщении я уточнил про delphi 8, что на неё нельзя писать win32 приложения, поэтому я её и не использую.
Про финансовую сторону я упамянул из-за того, что сейчас, особенно в крупных городах, если есть оффициально зарегистрированная фирма, использовать пиратский софт становиться затруднительно. Что касается меня, то в данный момент у меня установлена delphi 7, но собираюсь переходить на delphi 2005. Хоть я ещё сам и не пробовал новый делфи, но уже в сети появились стати с его описанием. Самое главное, что вновь вернули поддержку win32 приложений!!! + новый удобный редактор кода, а то мне уже этот (d1-d7) уже опостылел.
В игрушку поиграть что ли..... в doom3.... ;-)))))


 
Diaskhan   (2005-01-19 07:38) [21]

Ни одного рульного бесплатного VCL не нашел на Toryy.
Так , я не понял авторизация для акаунта при конекте SMTP нужна или нет? А при отправке??
Здесь написано- delphimaster.net/view/6-1101376180/ ,что не нужна.
И пожалуйста обьесните что, такое протокол IMAPI, и модуль MAPI,
Я думаю они связаны.
Imapi это не рульный протокол,а mapi это его интерфейс.
По крайней мере,я так думаю..
Кстати как Тебе игра "Городская DOOMA 3", дорогой Стиратель.
Джон Кармак=рульный программер.(Да и еще, и трудоголик) .


 
Diaskhan   (2005-01-19 07:43) [22]

Кстати Eraser, покажи функцию inttostr и strtoint на АСМЕ.
Ты должен знать, сколько будет 5 в 0 степени.


 
Eraser ©   (2005-01-19 13:17) [23]

Diaskhan
Да если даже эта прога есть у меня на винте, то я её уж точно не найду, по крайней мере найти с первой попытки не удалось ;-))
А программу эту меня года 2 назад попросила написать подуга, которой задали самостоятельно наисать ввод-вывод чисел, естественно что-то типа inttostr strtoint.
PS А при чём тут 5 в 0 степени???


 
Diaskhan   (2005-01-19 15:03) [24]

Дело в том .
Тут я имею ввиду процу strtoint.
У тебя есть строка "500".
Как ты узнаеш что у тебя 5 является 3 элементом в типе Integer.
Тебе надо сделать след операции.
0*(10^0)=0
0*(10^1)=0
5*(10^2)=0
А для того чтобы написать процу возведения в степень.
Ты должен знать чему равно 10 в 0 степени.(Математик..)
Теперь попробуй написать процу которая будет конвертировать strtoint,а потом прибавит и inttostr(выведет).
В данном случае возможно ,Ты вообще ни понимаеш что здесь применяется математика.

И ответь пжалуста на вопрос.
И пожалуйста обьесните что, такое протокол IMAPI, и модуль MAPI,
Я думаю они связаны.
Imapi это не рульный протокол,а mapi это его интерфейс.
По крайней мере,я так думаю..


 
Diaskhan   (2005-01-19 15:04) [25]

Так , я не понял авторизация для акаунта при конекте SMTP нужна или нет? А при отправке??
Здесь написано-
delphimaster.net/view/6-1101376180/ ,что не нужна.


 
BiN ©   (2005-01-19 16:53) [26]

Diaskhan   (19.01.05 15:04) [25]

Так , я не понял авторизация для акаунта при конекте SMTP нужна или нет? А при отправке??


Пропускаем весь бредовый спор про инди и дотНет... Читай матчасть, а имено документацию по "почтовым" протоколам: pop3, smtp, imap. А наличие авторизации и ее типы задаются самим сервером и только им.


 
Alexander Panov ©   (2005-01-19 16:55) [27]

Diaskhan   (19.01.05 15:04) [25]

По ссылке написано, что хотя  mail.ru декларирует необходимость авторизации при отправке почты, но на самом деле авторизация не используется.

При отправке почты в Indy9 без авторизации проблем не возникает.


 
Diaskhan   (2005-01-21 08:24) [28]

Наконец-то разобрался с отправкой почты.
Пришлось закоментировать строку Х-value в mодуле Idmessage.pas
Как я рад.
И ни какой аутентификации не нужно.. По краиней мере при свойстве type:=atnone;
Всем Спасибо, Господа Дельфяры.

Вот привожу свой функции inttostr и strtoint , не критиковать!!
Я и не рассчитывал на скорость.
Тут использовалась математика.
Кто сможет оптимизируйте их.

function SqrW(value,cout:integer):integer; {возведение в степень}
var temp,i:integer;
begin
case cout of
0:result:=1;
else begin
temp:=value;
for i:=2 to cout do
temp:=temp*value;
result:=temp;
end;
end;
{if cout=0 then begin result:=1;  end
else
begin
for i:=2 to cout do
temp:=temp*value;
result:=temp;
end;}
end;

function IntToStrW(value:integer):string;
var temp:string;
k,l:integer;
i:byte;
begin
i:=0;
k:= value;
  repeat
   Inc(I);
   k := k div 10;
 until k = 0;

{while k>0 do
begin
k:=k div 10;
inc(i);
end;    }

for k:=i-1 downto 0 do
begin
L:=SqrW(10,k);
i:=value div L;
temp:=temp+chr(i+48);
value:=value-i*L;
end;
result:=temp;
end;

function StrToIntW(stri:string):integer;
var temp,k:integer;
i,kof:byte;
begin
temp:=0; kof:=0;//k:=0;
i:=length(stri);
for i:=i{(length(stri))} downto 1 do
begin
{  k:=(ord(str[i])-48)*(Sqrw(10,kof));
inc(temp,k);
inc(kof);}
 k:=ord(stri[i]);
 dec(k,48);// if not(k in [0..9]) then begin result:=0; exit; end;
k:=k*(Sqrw(10,kof));
inc(temp,k);
inc(kof);
end;
result:=temp;
end;


 
Diaskhan   (2005-01-21 08:32) [29]

Спасибо за ЛИКБЕЗ,Господа.
1.Где можно надыбать МАТЧАСТЬ по протоколам ??
2.Где можно найти хелп по стандартной проге TELNET ??
(А то я слыхал что ,можно почту отправлять ч/з прогу TELNET
Меня больше интересует, его команды).
3.Mail.ru поддерживает IMAPI-protocol ??



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

Форум: "Сети";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.039 c
10-1086094163
Tormoz
2004-06-01 16:49
2005.03.20
Диапазон ячеек в Excel


1-1109742148
SteppesSon
2005-03-02 08:42
2005.03.20
обновление программ


6-1105999407
Новичек
2005-01-18 01:03
2005.03.20
Информация от сервера.


9-1103817250
Malefic
2004-12-23 18:54
2005.03.20
Подскажите плз где можно скачать шрифты (не графические)?


1-1110119850
smok_red
2005-03-06 17:37
2005.03.20
ActionMainMenuBar и его работа с MDI приложением





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский