[delphi] E-mail przez indy

0

Z SMTP mi nie wyszło :( (wyświetla się komunikat SMTP component not ready. i nikt nie wie co jest przyczyną)
Sprawdziłam to faq :
http://4programmers.net/faq.php/id=285
i wiele innych.
Napisałam tak:

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdMessage1.Body.Append('tresc maila');
  IdMessage1.From.name := 'imie od kogo';
  IdMessage1.From.Address := '[email protected]';
  IdMessage1.Recipients.EMailAddresses := '[email protected]';
  IdMessage1.Subject := 'temat';

  IdSMTP1.UserName := 'nazwa użytkownika serwera SMTP';
  IdSMTP1.Password :=  'hasło';
  IdSMTP1.Host :=  'poczta.interia.pl';
  IdSMTP1.Connect;
  try
    IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
end;

mam pytanie co wpisać w miejscach :

  IdMessage1.Recipients.EMailAddresses := '[email protected]';
  IdSMTP1.UserName := 'nazwa użytkownika serwera SMTP';
  IdSMTP1.Password :=  'hasło';

Ponieważ nigdzie nie mogę <ort>znaleŹć</ort> przykładu.

0

IdMessage1.Recipients.EMailAddresses := '[email protected]';
IdSMTP1.UserName := 'login do konta mailowego';
IdSMTP1.Password := 'no tutaj hasło do twojego konta mailowego';

0

Hasło jest potrzebne tylko wtedy gdy mamy serwer z uwierzytelnieniem ?

0

Zrobiłam tak jak piszecie! Jak dobrze zrozumiałam to w

  IdMessage1.Recipients.EMailAddresses := '[email protected]';

daje adres do kogo chce wysłać a tu

  IdSMTP1.UserName := '[email protected]'; {choć nie wiem czy to o to chodzi :( bo nic innego nie działa}

podaje sówj adres na mojego maila i tu
IdSMTP1.Password := 'haselko';
moje hasło wpisuję.
Wygląda to tak :

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdMessage1.Body.Append('tresc maila');
  IdMessage1.From.name := 'imie od kogo';
  IdMessage1.From.Address := '[email protected]';
  IdMessage1.Recipients.EMailAddresses := '[email protected]';
  IdMessage1.Subject := 'temat';

  IdSMTP1.UserName := '[email protected]';
  IdSMTP1.Password :=  'haselko';
  IdSMTP1.Host :=  'poczta.interia.pl';
  IdSMTP1.Connect;
  try
    IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
end;

I dalej nie działa :(
Wyświetla się błąd :
<akm196.internetdsl.tpnet.pl[82.13.12.xxx]>: Client host rejected :
//lofix dopisał:

[satanbsd.org]#[karol] >> host akm196.internetdsl.tpnet.pl
akm196.internetdsl.tpnet.pl has address 83.17.16.*
:)

Access denied.
Taki sam błąd wyswietla się jak wpisuję( bo chyba sie domyśliłam, że tu chodzi o login do windows) :
IdSMTP1.UserName := 'Rozczocharana';
{ IdSMTP1.Password := '';}{nie mam hasła}

Co mam dalej czynić wie ktoś?

Aha dodałam jeszcze to :

  iDSMTP1.AuthenticationType:=atlogin;

i teraz koncówka wygląda tak :

  iDSMTP1.AuthenticationType:=atlogin;
  IdSMTP1.UserName := '[email protected]';
  IdSMTP1.Password :=  'haselko';
  IdSMTP1.Host :=  'poczta.interia.pl';
  IdSMTP1.Connect;

  try
    IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;

I teraz po nacisnieciu button1 wyskakuje błąd :
[email protected]:Sender address rejected: not owned by user '[email protected]

0

jaku username musisz wpisać swój prawidłowy adres e-mail, podszywanie nie jest możliwe...

0

Dzialajaca procedure:

procedure TMainFrm.Wyslij;
begin
SMTP.Host := 'smtp.wp.pl';
SMTP.Port := 25;
SMTP.Username:='login';
SMTP.Password:='haslo';

Msg.From.Address:='[email protected]';
Msg.Recipients.EMailAddresses:='[email protected]'; //<- do kogo
Msg.Subject:='Temat';

    try
      SMTP.Connect(1000);
      SMTP.Authenticate;
      SMTP.Send(MSG);
    except on E:Exception do
     ShowMessage('ERROR: ' + E.Message);
    end;

end;

PS: tez mam AtLogin jako identyfikacja

MSG = TidMessage
SMTP = TidSMTPClient

0

Wpisuję swój prawidłowy adres e-mail i hasło do niego w
username i pasword i dalej nie chce mi programik wysyłaś E-maili.
Ściągnęłam też programik : "Roznosiciel" i od też niby wysyła maile, ale
one nie dochodzą. Mam coś na kompie zablokowane czy co? (firewail jakiś albo brak bibliotek bo ja już sama nie wiem).

0

Zrobiłam tak :

procedure Tform1.Wyslij;
begin
SMTP.Host := 'poczta.interia.pl';
SMTP.Port := 25;
SMTP.Username:='[email protected]';
SMTP.Password:='haselko_do_poczty';

Msg.From.Address:='[email protected]';
Msg.Recipients.EMailAddresses:='[email protected]'; //<- do kogo
Msg.Subject:='Temat';
    try
      SMTP.Connect(1000);
      SMTP.Authenticate;
      SMTP.Send(MSG);
    except on E:Exception do
     ShowMessage('ERROR: ' + E.message);
    end;
end;

Oczywiście ustawiłam : SMTP.AuthenticationType:=atlogin;
Programik się ładnie loguje i po uruchomieniu tej procedury pojawia się błąd :
ERROR : [email protected]:Sender address rejected: not owned by user [email protected]

0

spróbuj może z innego konta e-mail... ta poczta.fm może jakaś trefna jest?

0

Dzięki WAM!! Jesteście kochani :*
Wreszcie zadziałało - <ort>po prostu</ort> miałam zły serwer SMTP podany dla [email protected]
Bardzo WAM dziękuję i pozdrawiam - nawet nie wiecie jak wielce jestem wdzięczna i szczęśliwa. Buziak dla wszystkich!!! :*

0

[ ZMODYFIKOWANY ]

MIAŁEM TAKI PROBLEM:

"MI WYSKAKUJE ŻE NIE MA CZEGOŚ TAKIEGO JAK atlogin. Wyskakuje mi coś takiego:
[Error] Unit11.pas(118): Undeclared identifier: 'atLogin'
CO MAM ROBIĆ [MAM INDY 10 FOR DELPHI]

;( :-| [???] [???] :| :/ [sciana]"

Więc jakby ktoś miał problem to Wam powiem, że jeżeli chcecie wysłać wiadomość z uwierzytelnieniem to kodzik jest np. taki (NIE DADAWAĆ:

AuthType:=...

lub AuthorisationType:=...

):
```delphi
procedure TForm11.ButtonSendClick(Sender: TObject);

begin
 MessageSend.Body.Append('tresc maila');
 MessageSend.From.Name := 'imie od kogo';
 MessageSend.From.Address := '[email protected]';
 MessageSend.Recipients.EMailAddresses := '[email protected]';
 MessageSend.Subject := 'temat';

 { UserName bądź UserId - to jest zeleżne od wersji Indy. ja pisałem na Indy 10 }

 SMTP.UserName := 'jakubkrol';
 SMTP.Password :=  'wlodekija';
 SMTP.Host :=  'poczta.o2.pl';
 SMTP.Authenticate;
 SMTP.Connect;
 try
  SMTP.Send(MessageSend);
 finally
  SMTP.Disconnect;
  ShowMessage('WIADOMOŚĆ WYSŁANA!');
 end;
end;
0

IdMessage1.Body.Append('tresc maila');

A jak zrobic by tresc emaila, pokazywala sie w kilku liniach

IdMessage1.Body.Append('tresc maila' + #13 + ' kolejna linia' + #13 + ' i nastepnaniedzial');

0
ciekawy napisał(a)

IdMessage1.Body.Append('tresc maila');

A jak zrobic by tresc emaila, pokazywala sie w kilku liniach

IdMessage1.Body.Append('tresc maila' + #13 + ' kolejna linia' + #13 + ' i nastepnaniedzial');

Tak to zrob:
IdMessage1.Body.Append('tresc maila' + #13 + #10 + ' kolejna linia' + #13 + #10 + ' i nastepnaniedzial');

1 użytkowników online, w tym zalogowanych: 0, gości: 1