AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit Indy SMTP und Mailinglist
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Indy SMTP und Mailinglist

Ein Thema von Andyi · begonnen am 3. Sep 2007 · letzter Beitrag vom 3. Sep 2007
Antwort Antwort
Andyi

Registriert seit: 9. Mär 2007
9 Beiträge
 
#1

Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 14:39
So, erstma Lob an euch, klasse Forum^^. Ich soll für einen bekannten ein Programm schreiben, das Newsletter versendet. Ich habe mir überlegt, die Empfängeradressen in ne TStringlist zu packen und aus einer Text Datei zu laden. Aber wenn in der Text Datei mehr als eine Adresse steht, bekomme ich einen Fehler. Weiß jemand Rat?^^
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#2

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 18:31
So so ein Spammer ... war nur spass ... zeig mal im Code die Stelle ! ... ich muss selber gerade einen SMTP Server schreiben ^^.
Programmieren ..... .
  Mit Zitat antworten Zitat
Andyi

Registriert seit: 9. Mär 2007
9 Beiträge
 
#3

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 18:41
Wofür brauchste denn die Stelle? ich hab einfach nur ne Stringlist erstellt, dann die addys von der textdatei hineingeladen und als recipient meine stringlist angegeben.
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#4

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 18:46
Warte .. noch mal langsam ... also du hast ne Text Datei bsp: Test.txt dort stehen jetzt die Email Adressen drin, wo die News hin sollen.

Test.txt

test@test.de
test2@test.de
....

und wenn du dort jetzt die Liste durch gehst bekommst du den Fehler ?
Oder habe das jetzt falsch verstanden ?
Programmieren ..... .
  Mit Zitat antworten Zitat
Andyi

Registriert seit: 9. Mär 2007
9 Beiträge
 
#5

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 19:30
Genau, ich zeig dir maln paar Codeschnippsel:

Delphi-Quellcode:
var
  fmMain: TfmMain;
  addys : tstringlist;
...
Delphi-Quellcode:
addys := tstringlist.create;
addys.LoadFromFile('addys.txt');
...
Recipients.EMailAddresses := addys.text;
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#6

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 19:44
Versuch es mal so

Delphi-Quellcode:

var
 i: Integer;
 tmp, tname, taddress: String;

begin
 ...

for i := 0 to tstringlist.count -1 do
begin

tmp := tstringlist.Strings[i];
// Hier musste deinen Eintrag Teilen oder so
// als Bsp habe ich mal ne Feste Variable hingeschrieben
tname := 'John Doe';
taddress := 'jdoe@some.net';

with AMessage.Recipients.Add do
begin
  Name := tname;
  Address := taddress;
end;

end;
...
end;
Programmieren ..... .
  Mit Zitat antworten Zitat
Andyi

Registriert seit: 9. Mär 2007
9 Beiträge
 
#7

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 20:22
Die sind ja aber nicht fest, wie mache ich das dann?
Naja, was solls, ich poste ma meinen quelltext, wäre nett, wenn du ihn verbessern würdest:

Delphi-Quellcode:
procedure TfmMain.btnSendClick(Sender: TObject);
begin
addys := tstringlist.create;
addys.LoadFromFile('addys.txt');
if (eduser.text = '')
or (edpass.text = '')
or (edsubject.text = '')
or (edaddy.text = '')
or (edserver.text = '')
then showmessage('Please fill in all fields!');
with message1 do begin
message1.Subject := edsubject.Text;
Recipients.EMailAddresses := addys.text;
message1.Body := memo1.lines;
from.Text := edaddy.Text;
with smtp do begin
AuthenticationType := atlogin;
SMTP.UseEhlo := True;
smtp.username := eduser.text;
smtp.password := edpass.Text;
smtp.HeloName:= edserver.Text;
smtp.host := edserver.Text;
smtp.port := strtoint(edport.text);
AuthenticationType := atlogin;
disconnect;
connect;
SMTP.Send(Message1);
end;
end;
end;
Wäre nett, wenn du mich in ICQ addest:

358-645-276
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#8

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 21:03
So hier mal die überarbeitet Version. Musst es warscheinlich noch anpassen.

Delphi-Quellcode:
function SendNews(AddressFiles: String; Host: String; Port: Integer;
   EmailMsg: String; Subject: String): Boolean;
var
   mailList: TStringList;
  mess: TIdMessage;
  addressitem: TIdEMailAddressItem;
  i: Integer;
  idsmtpclient: TIdSMTP;
begin
   Result := False;
  // Liste Init
   mailList := TStringList.Create;

  // Prüfen ob Datei gefunden wurde
  if not FileExists(AddressFiles) then
  begin
    raise Exception.Create('Datei nicht gefunden');
    Exit;
  end;

  // Datei in die Liste LAden
  mailList.LoadFromFile(AddressFiles);

  // IdMess erstellen (Email Schablone)
  mess := TIdMessage.Create(nil);

  // Liste dürchgehen und in die Email Schablone eintragen
  for i := 0 to mailList.Count - 1 do
  begin

     // PRüfen ob die Mail Adresse ok ist
     if Pos('@', mailList.Strings[i]) > 0 then
    begin
       // Neues Item in die Mailschablone hinzufügen
       addressitem := mess.Recipients.Add;
      // Adresse ins Item eintragen
      addressitem.Address := mailList.Strings[i];
    end;
  end;

  // Thema setzten
  mess.Subject := Subject;
  // Inhalt setzten
  mess.Body.Add(EmailMsg);
  // Update die Quell Adresse
  mess.From.Address := 'Deine Email';

  // SMTP Client erstellen
  idsmtpclient := TIdSMTP.Create(nil);

  try
     try
       // Ziel Setzten
       idsmtpclient.Host := Host;
        idsmtpclient.Port := Port;
      // Verbinden
      idsmtpclient.Connect;
      // Senden
        idsmtpclient.Send(mess);
      // Trennen
        idsmtpclient.Disconnect;
    except
      raise Exception.Create('Fehler beim Senden.');
    end;

    Result := True;
  finally
     idsmtpclient.Free;
  end;

  mess.Free;
  mailList.Free;
end;
Programmieren ..... .
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:15 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