| Autor |
Beitrag |
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Do 13.11.08 18:42
Oh, huppala. Heißt natürlich SW_HIDE.
Zu Erklärung: Dein eMail-Client wird mit den angegebenen Parametern aufgerufen. Was er damit allerdings im Endeffekt macht, bleibt ja dem Programm überlassen. In dem speziellen Fall ist es eben "eintragen" und nicht "senden". Aber die wenigsten Clients sollten wohl eMails völlig automatisch an irgendwen verschicken. Da stände Mal-/Spyware ja Tür und Tor offen um Daten unbemerkt nach außen zu senden. Wer blockt schon sein eMail-Programm per Firewall :twisted
mfg
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Do 13.11.08 18:43
Also nochmal:
ShellExecute öffnet ein fremdes Programm. In diesem Fall das Standard-Mailprogramm. SW_Show, SW_Hide usw. gibt dabei an, ob das Programmfenster angezeigt werden, oder im Hintergrund geöffnet werden soll, usw.
Ob Thunderbird nun aber die Mail direkt absendet, oder erst das Nachrichtenfenster öffnet, da hat DEIN Programm (normalerweise) keinen Einfluss drauf - sondern hängt von vom aufgerufenen Programm (also in diesem Fall Thunderbird) ab.
Deswegen nochmal mein Hinweis: Nimm die Indy Komponenten - da bist du gar nicht auf fremde Anwendungen angewiesen.
Die Kompoenten sind meistens schon bei Delphi dabei, also schon vorinstalliert. Welche du brauchst, und wie du die benutzt, steht in dem Tutorial das ich ungefähr letzte Woche schon verlinkt hab..
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Do 13.11.08 18:55
Ok. Aber die Seite indyproject.org ist offline. Also nur die wo der Download drauf ist..
Und so hab ich keine Möglichkeit an die Installationsdatei ran zu kommen. Hat vlt. jemand die und kann die mir via icq oder email schicken???
ist offline:
www.atozed.com/indy/plus/install.iwp
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Do 13.11.08 19:03
Welche Delphi Version hast du?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Boldar
      
Beiträge: 1555
Erhaltene Danke: 70
Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
|
Verfasst: Do 13.11.08 19:32
Hier gibs ne Prozedur dafür, aber da wird ne Datei mitgeschickt. Man kann da dann doch einfach ein Datei-dummy mitschicken oder von den Profis hier die Procedur ändern lassen.
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Fr 14.11.08 18:58
Ich hab Delphi 2007!
Hat vlt jemand noch das Indy Paket???
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Fr 14.11.08 19:40
Chaka hat folgendes geschrieben : | Ich hab Delphi 2007!
Hat vlt jemand noch das Indy Paket??? |
Sollte bei deiner Version schon bei sein..
Es sei denn, du hast es bei der Installation abgewählt.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 14.11.08 19:44
Chaka hat folgendes geschrieben : | Ok. Aber die Seite indyproject.org ist offline. Also nur die wo der Download drauf ist..
Und so hab ich keine Möglichkeit an die Installationsdatei ran zu kommen. Hat vlt. jemand die und kann die mir via icq oder email schicken???
ist offline:
www.atozed.com/indy/plus/install.iwp |
Und mit ein paar Sekunden suchen findest du auf der Seite genau diese Seiten trotzdem...
www.atozed.com/indy/index.DE.aspx
www.atozed.com/indy/...taller/Files.DE.aspx
...
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Sa 15.11.08 18:37
Super. Danke. Jetzt hab ich es auch!
Aber wo muß ich jetzt überall etwas eingeben (Servername...) und so? Ich hab das jetzt so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin
case SmtpAuthType of 0: SMTP.AuthenticationType := atNone; 1: SMTP.AuthenticationType := atLogin; end;
SMTP.UserID := SmtpServerUser; SMTP.Password := SmtpServerPassword;
SMTP.Host := SmtpServerName; SMTP.Port := SmtpServerPort;
SMTP.Connect;
try SMTP.Send(Hallo); finally SMTP.Disconnect; end; |
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Sa 15.11.08 19:25
Du brauchst noch eine IdMessage.
In dieser kannst du die E-Mail bearbeiten (Betreff, Empfänger, Text, usw.)
Anschließend mit SMTP.Send(MyIDMessage); absenden und fertig.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Sa 15.11.08 20:04
Sonst muss ich da nichts angeben???
hab das jetzt so:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin
case SmtpAuthType of 0: SMTP.AuthenticationType := atNone; 1: SMTP.AuthenticationType := atLogin; end;
SMTP.UserID := SmtpServerUser; SMTP.Password := SmtpServerPassword;
SMTP.Host := SmtpServerName; SMTP.Port := SmtpServerPort;
SMTP.Connect;
try SMTP.Send(MyIDMessage); finally SMTP.Disconnect; end;
MID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4@local'; IdMessage := TIdMessage.Create(Nil); IdMessage.Date := now; idMessage.From.Name:='Name des Absänders'; idMessage.From.Address:='Hier hab ich die Email Adresse an die der senden soll'; idMessage.Recipients.EMailAddresses:='von der adresse'; idMessage.Subject:='Das ist eine Testnachricht'; idMessage.Body.Add('TEXT_1'); idMessage.Body.Add('Text_2'); idMessage.AddHeader('Message-ID: <' + MID + '>'); |
aber angekommen ist bis jetzt nichts...
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Sa 15.11.08 20:13
Erst die IdMessage befüllen, dann versuchen zu senden
Und natürlich drauf achten, dass auch die richtige IdMessage bei SMTP.Send() angegeben ist.
mfg
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Sa 15.11.08 20:32
Tja, Mails verschicken ist keine so einfache Sache, wie man immer glaubt. Du hast in diesem Fall 2 Probleme:
Erstens kann es sein, dass der empfangende Mailserver die Mail ablehnt, weil sie von einer dynamischen Adresse kommt oder anderen Spam-Ähnlichkeiten unterworfen ist (Reverse-DNS usw.), solange Du die Mail nicht über einen von DIr "kontrollierten" SMTP-Server schickst, an dem Du Dich authentifizieren musst. Dann hast Du aber das Problem, dass ohne besondere Vorkehrungen, die Zugangsdaten wie schon gesagt, im Klartext in der Exe stehen.
So, das Zweite wären dann noch Virenscanner und Firewalls. McAffee z.B. blockt erstmal alle ausgehenden SMTP-Nachrichten, wenn sie nicht von bekannten Programmen kommen (Outlook usw.) und das merkt dann nicht mal jemand.
Dafür gibt es nur zwei Lösungen: Entweder Du überlasst dem Nutzer die Kontrolle, worüber und wie geschickt wird (eigener Mailclient, sein eigener Mailserver, ...) oder Du verwendest das PHP-Skript. Letzteres hätte den Charm, dass Du bestimmst, wer der Absender ist und diesem (im Idealfall) auch vertraut wird von anderen SMTP-Servern.
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: So 16.11.08 19:41
Schade, jetzt war ich soweit. Gibts für das Php-Script nen Link?
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: So 16.11.08 20:36
Chaka hat folgendes geschrieben : | | Schade, jetzt war ich soweit. Gibts für das Php-Script nen Link? |
Es kommt ja darauf an, was Du genau machen willst. Wenn Du an eine ganz bestimmte Adresse senden willst und weißt, dass dieser Mailserver nicht solche Spam-Maßnahmen ergreift, kannst Du es ja trotzdem verwenden.
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Mo 17.11.08 17:39
Ja, soll immer nur an eine Email-Adresse. Aber wenn jetzt der Virenscanner oder die Firewall das von dem Client nicht durchlässt... Geht bei gmx so eine Mail durch???
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 17.11.08 17:51
Chaka hat folgendes geschrieben : | | Ja, soll immer nur an eine Email-Adresse. Aber wenn jetzt der Virenscanner oder die Firewall das von dem Client nicht durchlässt... Geht bei gmx so eine Mail durch??? |
Muddu probiern. Aber wenn die Firewall das nicht durchlässt, hast Du wenig Chancen. Daher stimmt das auch wieder  .
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Mo 17.11.08 18:31
Muss ich da jetzt noch irgendwas verändern:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin IdMessage := TIdMessage.Create(Nil); IdMessage.Date := now; idMessage.From.Name:='Programm'; idMessage.From.Address:='chaka@newsletter.de'; idMessage.Recipients.EMailAddresses:='**meine Email**@**die hab ich jetzt geändert**.de'; idMessage.Subject:='Das ist eine Testnachricht'; idMessage.Body.Add('TEXT_1'); idMessage.Body.Add('Text_2'); idMessage.AddHeader('Message-ID: <' + MID + '>');
case SmtpAuthType of 0: SMTP.AuthenticationType := atNone; 1: SMTP.AuthenticationType := atLogin; end;
SMTP.UserID := SmtpServerUser; SMTP.Password := SmtpServerPassword;
SMTP.Host := SmtpServerName; SMTP.Port := SmtpServerPort;
SMTP.Connect;
try SMTP.Send(idMessage); finally SMTP.Disconnect; end; |
ich hab das Ganz genauso wie hier. Muß ich da irgendwas ergänzen???
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mo 17.11.08 18:36
1. Wozu das TIdMessage.Create ?
2. Message ID muss man normalerweise nicht selber setzen.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Chaka 
      
Beiträge: 20
|
Verfasst: Do 20.11.08 18:15
Ich bekomme das irgendwie nicht hin...
Kann mir das jemand noch mal genauer erklären???
|
|