![]() |
Email mit Indy verschicken
Hallo,
dieses Thema wurde zwar schon oft erklärt und erwähnt, jedoch bin ich mir nicht ganz sicher. Ich möchte eine Email versenden. Jetzt fehlen mir die Grundkenntnisse. Ich habe meinen Emailaccount bei ![]() Falls jemand einen Link zur Demo für die Indy's hat, wäre ich sehr glücklich. Diese sollte mit Delphi 7 kompilierbar und mit Indy 10 geschrieben sein. Als nächste Frage stellt sich, wie ich gleichzeitig an 10 Leute schreiben kann. Zwar könnte ich das in eine For-Schleife packen, aber es gibt sicherlich eine resourcensparendere Möglichkeit, oder? Danke schon im Vorraus. :wink: |
Re: Email mit Indy verschicken
Zitat:
Such mal hier im Forum. Ich hab dazu schon mal was gepostet. Aber ich mach hier mal nen Schmalspur Code rein: Email ist eine TIdMessage Komponente idsmtp die smtp Komponente daran denken, das der Zielserver evtl. Username und PW braucht (kannst im Objektinspektor eintragen, ebenso den Host)
Delphi-Quellcode:
Gruss
procedure TFDMailer.startClick(Sender: TObject);
var Email: TIdMessage; begin s := 0; Email := TIdMessage.Create(nil); Email.Recipients.Clear; Email.Recipients.Add.Address := edit4.text; Email.BccList.Add.Address := bccedit1.text; (hier musst die BCCs reinpacken); Email.BccList.Add.Address := bccedit2.text; . .... Email.from.Text := edit3.text; Email.From.Name := edit2.Text; Email.From.Address := edit1.text; Email.Subject := T_betreff.Text; email.Date := Now; with TIdText.Create(email.MessageParts, nil) do begin Body.Text := mailbody.Text; CharSet := 'iso-8859-1'; ContentTransfer := 'quoted-printable'; ContentType := 'text/plain'; ParentPart := -1; end; with TIdText.Create(email.MessageParts, nil) do begin Body.Text := mailbody.asansistring('html'); CharSet := 'iso-8859-1'; ContentTransfer := 'quoted-printable'; ContentType := 'text/html'; ParentPart := -1; end; if trim(gdateiname) <> '' then TIdAttachmentfile.Create(email.MessageParts, gdateiname); idsmtp.Connect; try idsmtp.Send(Email); idsmtp.Disconnect; except idsmtp.Disconnect; end; showmessage('Mail wurde verschickt'); end; EL |
Re: Email mit Indy verschicken
Was ist s?
|
Re: Email mit Indy verschicken
Delphi-Quellcode:
Hier kommen wie verrückt Fehlermeldungen. Das Fettgedruckte kennt er nicht. Und bitte mal daneben schrieben, was für was zuständig ist :)
var
Email: TIdMessage; s: integer; begin s := 0; Email := TIdMessage.Create(nil); Email.Recipients.Clear; Email.Recipients.Add.Address := edit4.text; Email.BccList.Add.Address := bccedit1.text; Email.from.Text := edit3.text; Email.From.Name := edit2.Text; Email.From.Address := edit1.text; Email.Subject := T_betreff.Text; Email.Date := Now; with TIdText.Create(email.MessageParts, nil) do begin [b]Body.Text[/b] := mailbody.Text; [b]CharSet[/b] := 'iso-8859-1'; [b]ContentTransfer[/b] := 'quoted-printable'; [b]ContentType[/b] := 'text/plain'; [b]ParentPart[/b] := -1; end; with TIdText.Create(email.MessageParts, nil) do begin Body.Text := mailbody.asansistring('html'); CharSet := 'iso-8859-1'; ContentTransfer := 'quoted-printable'; ContentType := 'text/html'; ParentPart := -1; end; if trim(gdateiname) <> '' then TIdAttachmentfile.Create(email.MessageParts, gdateiname); |
Re: Email mit Indy verschicken
1. Den Antifreeze nicht vergessen
2. in Uses: IdAntiFreeze, IdMessage,IdAttachmentFile. 3. die TIdMessage Komponente hab ich EMail genannt. Der Mailbody ist ein Richtext. Also auch noch ne Richtext Komponente dazu machen. Und nun ist mal ein wenig Kreativität gefragt. Übrigens: auch bei indy selbst gibt hervorragende Beispiele Gruss EL |
Re: Email mit Indy verschicken
Aha ... und was ist das alles? :mrgreen:.
Ich werde mal damit anfangen, die Indydemo dazu runterzuladen und das Programm umzuschreiben. Trotzdem Danke! |
Re: Email mit Indy verschicken
So ... die Indykomonente funktioniert ja überhaut nicht ... Die kann ich erstmal vergessen ;)
Delphi-Quellcode:
das am Anfang mit //kommentierte: ich bin mir nicht sicher, was was ist ... habe ich recht mit dem, was ich daneben geschrieben habe?
var
Email: TIdMessage; s: integer; begin s := 0; Email := TIdMessage.Create(nil); Email.Recipients.Clear; //? Email.Recipients.Add.Address := edit4.text; //email des empfängers Email.BccList.Add.Address := bccedit1.text; //email des empfängers Email.from.Text := edit3.text; //Text der Email Email.From.Name := edit2.Text; //Name dem die Email gehört, also mein Name Email.From.Address:=edit1.text; //Absender Email.Subject:=edit2.text; //Betreff Email.Date := Now; with (**TIdText**).Create(email.MessageParts, nil) do begin (**Body.Text**) := mailbody.Text; (**CharSet**) := 'iso-8859-1'; (**ContentTransfer**) := 'quoted-printable'; (**ContentType**) := 'text/plain'; (**ParentPart**) := -1; end; with TIdText.Create(email.MessageParts, nil) do begin Body.Text := mailbody.asansistring('html'); CharSet := 'iso-8859-1'; ContentTransfer := 'quoted-printable'; ContentType := 'text/html'; ParentPart := -1; end; if trim(gdateiname) <> '' then TIdAttachmentfile.Create(email.MessageParts, gdateiname); idsmtp.Connect; try idsmtp.Send(Email); idsmtp.Disconnect; except idsmtp.Disconnect; end; showmessage('Mail wurde verschickt'); end; später habe ich mit (** **) Wörter kommentiert. Das ist ein Teil von denen, die Delphi nicht kennt. Habe ich irgendwas vergessen? Danke schon im Vorraus. P.S.: Weitere Fehler folgen noch ;) |
Re: Email mit Indy verschicken
Zitat:
with (**TIdText**). .... dann machst Du einfach ein USES IdText ... und fertig. Gruss EL |
Re: Email mit Indy verschicken
[/delphi]Super! Funktioniert alles! Letzte Frage:
Delphi-Quellcode:
Jetzt steht nicht nur ein Empfänger in einem Edit, sondern jetzt stehen 10 Empfänger in einer Listbox. Wie mache ich das?
Recipients.Add.Text := Trim(edit1.text);
Delphi-Quellcode:
Das geht leider nicht. Aber eine andere Frage, fast dieselbe:
Recipients.Add.Text := Trim(listbox1.items);
Ich will einem Stringsrray alle Listboxinhalte geben: Funktioniert auch nicht!
Delphi-Quellcode:
Danke schon im Vorraus!
var
adressen: array[1..1000] of string; begin for i:= 1 to listbox1.Items.count do begin adressen[i]:=listbox1.Items(i); end; |
Re: Email mit Indy verschicken
Zitat:
Delphi-Quellcode:
gehen
for i:= 0 to 10
email.Recipients.Add.Text := listbox1.Item[i]; end; Gruss EL PS.: Wenn Du einen fertigen NewsletterMailer brauchst... ich hab ihn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz