AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy IdMessage und Message ID?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy IdMessage und Message ID?

Ein Thema von Schucki · begonnen am 4. Sep 2008 · letzter Beitrag vom 11. Sep 2008
Antwort Antwort
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#1

Indy IdMessage und Message ID?

  Alt 4. Sep 2008, 03:25
Hallo,

ich möchte gerne zu meinen eMails eine MSG-ID generieren, das klappt auch alles doch wenn ich die IdMsg als File auf die Platte speichern möchte, finde ich keinen Eintrag. Warum nicht, habe ich einen Schritt vergessen?

var genMsg = IdMessage;


genMsg.Clear;
genMsg.Date:=Now;
genMsg.From.Address:=ADR_FROM;
genMsg.Recipients.EMailAddresses:=ADR_TO;
genMsg.Subject:='Testmail...';
genMsg.UID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4local';
genMsg.Body.Text:=memWelcome.Text;
genMsg.Body.Text:=memMail.Text;
genMsg.SaveToFile('out.txt');


out.txt Inhalt...

From: "test@localhost.net" <test@localhost.net>
Subject: Tstmail...
To: user@localhost.net
Date: Thu, 4 Sep 2008 03:17:32 +0200

Hello Test hier und da...
.





Ich dachte ich bekomme auch den Eintrag:

Message-ID: <>


Hat jemand einen Tip?

Gruß Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Indy IdMessage und Message ID?

  Alt 4. Sep 2008, 07:18
Zitat:
...finde ich keinen Eintrag
Was verstehst du unter Eintrag und wo findest du keinen Eintrag wo du aber einen erwartest? Oder meinst du das du keine Datei findest? Das könnte daran liegen das du nur "out.txt" angibst aber keinen Pfad dazu. Das heißt die Datei wird schon irgendwo liegen nur ist eben nicht genau bestimmt wo weil dies von deinem Arbeitsverzeichnis abhängig ist was sich schnell mal ändern kann. Wenn du mit eingeschränkten Rechten arbeitest kann es auch sein du findest die Datei gar nicht weil du im Windows-Verzeichnis (welches oftmals das Arbeitsverzeichnis ist) keine Schreibrechte hast.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#3

Re: Indy IdMessage und Message ID?

  Alt 4. Sep 2008, 10:55
Also ich dachte ich könnte die IdMessage Komponente zum erstellen von eMails verwenden.
In der eMail also wenn man sie als Datei speichert sollten dann die verschiedenen Einträge auftauchen.

Doch das passiert nicht bei allem.

genMsg.Date:=Now;
erzeugt die Zeile:
Date: Thu, 4 Sep 2008 03:17:32 +0200

genMsg.From.Address:=ADR_FROM;
erzeugt die Zeile:
From: "test@localhost.net" <test@localhost.net>

genMsg.Recipients.EMailAddresses:=ADR_TO;
erzeugt die Zeile:
To: user@localhost.net

genMsg.Subject:='Testmail...';
erzeugt die Zeile:
Subject: Tstmail...

Nur diese hier funktioniert so nicht.
genMsg.UID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4local';
Sollte eine Zeile wie:

Message-ID: <wh11223344556677A3F4E4local>
Erzeugen aber Fehlanzeige...



Gruß Frank
Frank
  Mit Zitat antworten Zitat
remo.mueller

Registriert seit: 27. Aug 2004
Ort: 127.0.0.1
8 Beiträge
 
Delphi 7 Personal
 
#4

Re: Indy IdMessage und Message ID?

  Alt 11. Sep 2008, 18:04
Die "Message-ID" wird von IdMessage nicht selbst erzeugt. Man muß es einfach selbst machen.
Falls man jedoch eine Nachricht an einen Mailserver sendet und es ist der Header
"Message-ID" nicht vorhanden, dann wird dieser durch den Server erstellt.

Hier mein Beispiel:

Delphi-Quellcode:
Var
    IdMessage : TIdMessage;
    MID: String;
begin

MID:='wh'+FormatDateTime('yymmddssnnhh', now)+'A3F4E4@local';
IdMessage := TIdMessage.Create(Nil);
IdMessage.Date := now;
idMessage.From.Name:='Absender';
idMessage.From.Address:='user@example.com';
idMessage.Recipients.EMailAddresses:='test1@example.com';
idMessage.Subject:='Testnachricht';
idMessage.Body.Add('TEXT_1');
idMessage.Body.Add('Text_2');
idMessage.AddHeader('Message-ID: <' + MID + '>');
idMessage.SaveToFile('C:\mail.txt');
end;
Am Besten man erzeugt gleich ein gültige Message-ID, welche auch ein "@" enthalten sollte.
Ich selbst verwende Units aus Indy ungern und setze lieber auf Synapse.
Siehe: http://synapse.ararat.cz Und hier die Unit "mimemess".


MfG
Remo
  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 21:18 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