AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Email mit Indy verschicken
Thema durchsuchen
Ansicht
Themen-Optionen

Email mit Indy verschicken

Offene Frage von "Chrissi91"
Ein Thema von Chrissi91 · begonnen am 15. Dez 2005 · letzter Beitrag vom 16. Mär 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#1

Email mit Indy verschicken

  Alt 15. Dez 2005, 18:11
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 http://www.web.de. Brauche ich jetzt einen Pop3 Server und einen SMTP Server, ohne nur einen von beiden?
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.
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#2

Re: Email mit Indy verschicken

  Alt 15. Dez 2005, 18:33
Zitat von Chrissi91:
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 http://www.web.de. Brauche ich jetzt einen Pop3 Server und einen SMTP Server, ohne nur einen von beiden?
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.
Du brauchst zum Versenden nur die smtp Komponente(und nat. auch ein Msg). Für mehrere Kopien solltest Du die als bcc adden.
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:
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;
Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#3

Re: Email mit Indy verschicken

  Alt 15. Dez 2005, 19:11
Was ist s?
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#4

Re: Email mit Indy verschicken

  Alt 15. Dez 2005, 20:04
Delphi-Quellcode:
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);
Hier kommen wie verrückt Fehlermeldungen. Das Fettgedruckte kennt er nicht. Und bitte mal daneben schrieben, was für was zuständig ist
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: Email mit Indy verschicken

  Alt 15. Dez 2005, 20:17
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


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#6

Re: Email mit Indy verschicken

  Alt 15. Dez 2005, 20:25
Aha ... und was ist das alles? .

Ich werde mal damit anfangen, die Indydemo dazu runterzuladen und das Programm umzuschreiben.

Trotzdem Danke!
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#7

Re: Email mit Indy verschicken

  Alt 16. Dez 2005, 06:43
So ... die Indykomonente funktioniert ja überhaut nicht ... Die kann ich erstmal vergessen

Delphi-Quellcode:
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;
das am Anfang mit //kommentierte: ich bin mir nicht sicher, was was ist ... habe ich recht mit dem, was ich daneben geschrieben habe?

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
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#8

Re: Email mit Indy verschicken

  Alt 16. Dez 2005, 09:11
Zitat von Chrissi91:
So ... die Indykomonente funktioniert ja überhaut nicht ... Die kann ich erstmal vergessen

Delphi-Quellcode:
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;
das am Anfang mit //kommentierte: ich bin mir nicht sicher, was was ist ... habe ich recht mit dem, was ich daneben geschrieben habe?

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
Könnte TIdText evtl. eine Komponente sein?
with (**TIdText**). ....

dann machst Du einfach ein USES IdText ... und fertig.

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#9

Re: Email mit Indy verschicken

  Alt 16. Dez 2005, 21:14
[/delphi]Super! Funktioniert alles! Letzte Frage:

Recipients.Add.Text := Trim(edit1.text); 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(listbox1.items); Das geht leider nicht. Aber eine andere Frage, fast dieselbe:

Ich will einem Stringsrray alle Listboxinhalte geben: Funktioniert auch nicht!

Delphi-Quellcode:
var
 adressen: array[1..1000] of string;
begin
 for i:= 1 to listbox1.Items.count do
  begin
   adressen[i]:=listbox1.Items(i);
  end;
Danke schon im Vorraus!
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#10

Re: Email mit Indy verschicken

  Alt 17. Dez 2005, 11:25
Zitat von Chrissi91:
[/delphi]Super! Funktioniert alles! Letzte Frage:

Recipients.Add.Text := Trim(edit1.text); 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(listbox1.items); Das geht leider nicht. Aber eine andere Frage, fast dieselbe:

Ich will einem Stringsrray alle Listboxinhalte geben: Funktioniert auch nicht!

Delphi-Quellcode:
var
 adressen: array[1..1000] of string;
begin
 for i:= 1 to listbox1.Items.count do
  begin
   adressen[i]:=listbox1.Items(i);
  end;
Danke schon im Vorraus!
sollte in der Art:
Delphi-Quellcode:
for i:= 0 to 10
  email.Recipients.Add.Text := listbox1.Item[i];
end;
gehen

Gruss

EL
PS.: Wenn Du einen fertigen NewsletterMailer brauchst... ich hab ihn


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz