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

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

Chaser: Помогите! Не работает отправка е-mail на Delphi [D7, WinXP]


Страницы:   1 2 3

Chaser ©   (2004-11-25 12:49:00) 

Добрый день!

Вопрос по отправке почты, не работает
Код:

procedure TForm3.Button1Click(Sender: TObject);
var
i: integer;
begin
idMessage1.Recipients.EMailAddresses:=Edit1.Text; // получатель
idMessage1.From.Text:=Edit2.Text; // отправитель
idMessage1.From.Address:=Edit2.Text; // адрес отправителя
idMessage1.Subject:=Edit3.Text; // тема
for i:=0 to Memo1.Lines.Count-1 do // текст сообщения
idMessage1.Body.Text:=Memo1.Text;
//
idSmtp1.AuthenticationType:=atNone;
idSmtp1.Host:='smtp.mail.ru';
idSmtp1.Port:=25;
IdSMTP1.Username:='*******';
IdSMTP1.Password:='*******';
IdSMTP1.Connect(1000);
if IdSMTP1.Connected
then
begin
IdSMTP1.Send(idMessage1);
ShowMessage('Письмо отправлено!');
end
else ShowMessage('Письмо не отправлено!');
idSmtp1.Disconnect;
end;

При отправке выдается ошибка: "failed to run cheks, message rejected".

Подскажите плиз в чем проблема.


OneFragLeft   (2004-11-28 01:28:00) [1]

Постучи в аську: 303069836


Serega   (2004-11-28 01:28:00) [2]

da....
idMessage2 na forme, no sasdajotsa v Procedure....:)
procedure SendMyMail();
var
IdMessage2: TIdMessage;

begin
     idmessage2 := TiDMessage.Create(nil);


OneFragLeft   (2004-11-28 01:25:00) [3]

IDMessage - на форме?


Serega   (2004-11-28 01:22:00) [4]

strochku v idmessage.pas sakomentiroval

**************idmessage.pas**********************************
     Values['X-Priority'] := IntToStr(Ord(Priority) + 1); {do not localize}
   //  Values['X-Library'] := gsIdProductName + ' ' + gsIdVersion ; {do not localize}
****************************************************************

v object-ispector dla idsmtp stoit:
Authetification Type : atNone
Host                 : smtp.mail.ru
Port                 : 25
ReadTimeout          : 60000

Pri Opravke pochti vidaet exception:

  form1.IdSMTP1.Connect();
  try
  form1.IdSMTP1.Send(idmessage2);
  except
    on E : EidException do  showmessage('Scheise beim Senden   der Email an den Server' +  E.Message + E.ClassName);

   end; // try
    form1.IdSMTP1.Disconnect;

Nesnaju s chem eto svasano.....
Project rebuilt delal....


OneFragLeft   (2004-11-28 01:15:00) [5]

Каким образом?


Serega   (2004-11-28 01:14:00) [6]

stranno, moi Delphi(7) soprativlaetsa.....


OneFragLeft   (2004-11-28 01:03:00) [7]

Нет, так работает.
Только строчку надо закомментировать Values['X-Library'] := gsIdProductName + ' ' + gsIdVersion ;
Которая находиться в IdMessage.pas


Serega   (2004-11-28 01:01:00) [8]

> OneFragLeft ©   (28.11.04 00:58) [40]

na idsmtp krome timeout, port, i host, drugie properitis ne stavatsa......!?


OneFragLeft   (2004-11-28 00:58:00) [9]

>Serega   (28.11.04 0:43) [37]

procedure Indy_SendMail(const sSubj,sTo,sFromAddr,sReplyTo,sAttach:string;LBody:TStrings);
var
FidMess:TidMessage;
Fid_SMTP:TidSMTP;
begin
try
Fid_SMTP:=TIdSMTP.Create(Application.MainForm);
FidMess:=TIdMessage.Create(Fid_SMTP);
except
if Fid_SMTP<>nil then FreeAndNil(Fid_SMTP);
end;
with FidMess do
begin
Subject:='Тест';
From.Text:=sFromAddr;
Recipients.EMailAddresses:=sTo;
NoEncode:=True;
if LBody<>nil then Body.Text:=pchar(LBody.Text);
if sReplyTo<>'' then ReplyTo.EMailAddresses:=sReplyTo;
if FileExists(sAttach) then TIdAttachment.Create(MessageParts,sAttach);
end;
with Fid_SMTP do
begin
ReadTimeout:=60000;
Port:=25;
Host:='smtp.mail.ru';
if not Connected then
 try
  Connect;
  Send(FidMess);
 finally
  if Connected then Disconnect;
  FreeAndNil(FidMess);
  FreeAndNil(Fid_SMTP);
 end;
end;
end;


Indy_SendMail('', 'MYLO@mail.ru', 'SHILO@mail.ru', 'SHILO@mail.ru', '',Form1.Memo1.Lines);


OneFragLeft   (2004-11-28 00:55:00) [10]

Странно, на обычный ящик приходит нормально, а на телефон - коряво. Была, допустим в слове буква А, получается Ю. Чё за ботва?


Alexander Panov   (2004-11-28 00:44:00) [11]

>Verg ©   (27.11.04 10:07) [30]

Так покажи такой же протокол из под 9-ки. Сравним - в чем косяк.

Только в понедельник - на работе.


Serega   (2004-11-28 00:43:00) [12]

Sater v idmessage.pas strochku:
Values['X-Library'] := gsIdProductName + ' ' + gsIdVersion ;

Seravno  rugaetsa.....
moschet ktnonibud pamestit primer s kodom, vse properitis ot idsmtp....

idsmtp.Authentication stoit na atnone......!?


OneFragLeft   (2004-11-28 00:13:00) [13]

OneFragLeft ©   (27.11.04 15:32) [32]

Работать-то работает, только вот с русским проблема. Приходит совсем не то, что посылаю. Как лечить, доктор?


Verg   (2004-11-27 21:56:00) [14]

Для начала...

http://www.faqs.org/rfcs/rfc821.html


OneFragLeft   (2004-11-27 19:16:00) [15]

Verg ©   (26.11.04 22:21) [12]
Как послать сообщение с TELNET?


XGarik   (2004-11-27 15:39:00) [16]

Зачем ты написал idSmtp1.AuthenticationType:=atNone;
А затем вбил
IdSMTP1.Username:='*******';
IdSMTP1.Password:='*******';
SMTP сервак на MAIL.RU не требует авторизаци...

Просто грохни эти две строчки (только не вбивай мое мыло в bad-list...!!!)


OneFragLeft   (2004-11-27 15:32:00) [17]

Ух, сколько запарки-то было. Всем большое спасибо. Всё работает.


Неизвестный   (2004-11-27 11:02:00) [18]

Увидел знакомую ошибку решил добавить как я нашел выход из этой ситуации (на D7, т.е. Indy9).
Моя прога отправляла письма на mail.ru, работала без проблем, но через пару недель стала выдавать ошибку:
failed to run checks, message rejected
Я долго искал в чем причина и как-то закоментировал строчку
Values['X-Library'] := gsIdProductName + ' ' + gsIdVersion ;
Которая находиться в IdMessage.pas
И у меня все стало нормально попрежнему отправляться.
Может быть сервер не понимает строчку вида в письме: "X-Library: Indy 9.00.10"...думает, что спам ну или космические корабли....но этот глюк прошел.

Кстати у mail.ru для отправки писем пароль не нужен.


Verg   (2004-11-27 10:07:00) [19]

Так покажи такой же протокол из под 9-ки. Сравним - в чем косяк.


Alexander Panov   (2004-11-27 01:07:00) [20]

>Verg ©   (26.11.04 23:30) [28]

Не успел с работы отписать, пишу сейчас.

После установки Indy9 тот код заработал нормально, похоже, что глюк в Indy8.


Страницы:   1 2 3

Наверх

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