Programowanie w języku Delphi » FAQ

Jak wysłać maila z załącznikiem w INDY

  • 2009-08-01 01:18
  • 17 komentarzy
  • 1702 odsłony
  • Oceń ten tekst jako pierwszy
Wstaw na formę następujące komponenty:
- IdMessage - za zakładki "Indy Misc"
- IdAntiFreeze - z zakładki "Indy Misc"
- IdSMTP - z zakładki "Indy Clients"

No i kod odpowiedzialny za wysyłanie maila z załącznikiem:
IdMessage1.Body.Append('TREŚĆ MAILA');
IdMessage1.Recipients.EMailAddresses := [email protected]';
IdMessage1.Subject := 'TEMAT';
IdMessage1.From.Name := 'NAZWA NADAWCY';
IdMessage1.From.Address := 'ADRES MAIL NADAWCY';
idSMTP1.Password := 'HASŁO DO KONTA';
idSMTP1.Username := 'NAZWA UŻYTKOWNIKA';
idSMTP1.Host := 'HOST DO POŁĄCZENIA';
TIdAttachment.Create(IdMessage1.MessageParts, 'SCIEŻKA DO PLIKU KTÓRY MA BYĆ W ZAŁĄCZNIKU');
IdSMTP1.Connect;
try
  IdSMTP1.Send(IdMessage1);
finally
  IdSMTP1.Disconnect;
end;


To wszystko.

17 komentarzy

M-M 2010-02-16 12:35

Wstawiłem te komponenty i aby sprawdzić czy działa skopiowałem żywcem a i tak przy wykonywaniu programu nie wysyła i jest błąd prz try :/

drgiro 2008-02-26 20:30

Ok , poprawilem . Mam nadzieje ze teraz bedzie dzialac ok .
W razie bledu - Wy rowniez mozecie modyfikowac , wiadomo GNU GPL ;)
jesli uwazacie , ze fajnie pisze to podsylajcie mi tematy , a ja postaram sie je opracowac :)


// ban - Cold

Coldpeer 2008-02-26 13:58

LOL...

A co do kropki - moim zdaniem nie :)

reichel 2008-02-25 23:05

Che che .... wersja zmienila sie ooooo emotke : ). Swoja drogą czy po ematokach powinno sie stawiac kropke, skoro sa na koncu zdania ?

lofix 2008-02-25 22:55

Jakoś tak mało elegancko. Brak nawet obsługi błędów, czy jakiejkolwiek komunikacji z użytkownikiem...

lazyboy666 2007-10-25 13:59

He He  trzymaj :
procedure TForm1.Button1Click(Sender: TObject);
begin
IdMessage1.Body.Append('TREŚĆ MAILA');
....

takich rzeczy nie wiesz,,, hio hio ;)

lazyboy666 2007-09-27 14:01

kurcze przy kompilacji pisze mi tak "iDAntiFreezeBase was compiled witch a different version of system RTLVersion "
hmm nie wiem o co chodzi z tym  ...przydałaby sie pomoc...;)

TomRiddle 2010-06-18 17:30

Tylko niech ktoś poda linka do tych Indy bo nigdzie nie moge znaleść!

kamild 2007-06-23 09:29

Na niektórych serwera nie da się wysłać maila bez:

IdMessage1.From.name := 'imię nazwisko';
IdMessage1.From.Address :='adres nadawcy';

bordeux 2007-06-09 21:05

idSMTP1.AuthenticationType:=atLogin; autoryzacja :)

drzewko 2007-03-15 20:58

Jak zrobic aby byla autoryzacja? Bo niekotre serwery poczty tego wymagaja?

Coldpeer 2006-05-02 23:49

Jak to określiłeś: zostałeś zjechany - ale wydaje mi się, że słusznie. Bo ja bym tych tekstów artami nie nazwał. Nikt Cię tu na siłę nie trzyma - nie chcesz się stosować do jakichś zasad, to nie (choć miałbyś jeszcze szanse, aby zacząć się do nich stosować). Spróbuj z tymi artami pójść do innego serwisu, ciekawe jak to przyjmą...
PS. nie jestem adminem ;)

hamtaro 2006-05-02 23:35

chooooj....więcej nie pisze tutaj Artów...
niedość ze je napisałem, zostałem za to zjechany...
ale cóż, to się nazywa "sruwość-admina"... -.0
pozdro....

Coldpeer 2006-05-02 22:45

Matko boska! Apeluję, abyś zaczął po polsku redagować teksty.
Po prostu tekst aż się nie chce czytać!
I to nie gotowiec, ale IMHO FAQ.
Aha, stosujemy polskie znaki nie tylko w tekście, ale w tytule też. Przeniosłem do FAQ i poprawiłem nazwę (i cały tekst przy okazji ;)).

bordeux 2007-10-08 17:42

A po co mi  IdAntiFreeze ?

luz 2006-05-19 17:10

hej nie wiem jak to zrobiles ale linijak z
TIdAttachment.Create(IdMessage1.MessageParts, 'SCIEŻKA DO PLIKU KTÓRY MA BYĆ W ZAŁĄCZNIKU');
mi wywala program - i niestety zalacznik nie idzie!