AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SMTP MailMessage mit Indy

Ein Thema von hesch21 · begonnen am 23. Okt 2013 · letzter Beitrag vom 24. Okt 2013
Antwort Antwort
hesch21

Registriert seit: 31. Aug 2004
Ort: Basel
114 Beiträge
 
Delphi XE2 Enterprise
 
#1

SMTP MailMessage mit Indy

  Alt 23. Okt 2013, 12:25
Hallo allerseits

ich suche nun seit Stunden wo man im MailMessage von Indy-10 einstellen kann, dass eine Mail im Nur-Text-Format raus geht. Vermutlich mit Blindenstock
Weiss das gerade jemand?

Nachtrag:
mit text/text bei ContentType statt text/plain würde es an sich gehen, nur wird mir dann die ganze Mail-Message als Anhang in eine TXT-Datei gestellt.
Heinz Schneider

Geändert von hesch21 (23. Okt 2013 um 15:36 Uhr)
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SMTP MailMessage mit Indy

  Alt 24. Okt 2013, 09:23
Hallo,
Du meinst die Komponente TIdMessage?
Code:
TIdMessage.ContentType:='text/plain';
TIdMessage.Body.Text:='Ich bin die Mail';
Ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau

Geändert von FrankJ28 (24. Okt 2013 um 09:26 Uhr)
  Mit Zitat antworten Zitat
hesch21

Registriert seit: 31. Aug 2004
Ort: Basel
114 Beiträge
 
Delphi XE2 Enterprise
 
#3

AW: SMTP MailMessage mit Indy

  Alt 24. Okt 2013, 11:36
Hallo FrankJ28

ich hab ja in meinem Nachtrag erwähnt, dass ich ContentType := 'text/plain' standardmässig verwende. Aber vermutlich liegt das Problem gar nicht beim Senden sondern beim Empfangen. Und jetzt muss ich doch noch ausholen, um was es geht. Ich möchte auf möglichst einfache Weise so etwas wie eine Art 'tabulierte' Darstellung ausgeben und habe das wie folgt versucht:
Delphi-Quellcode:
     StringListe.Add('Produkt : ' + PageControl1.ActivePage.Caption);
     StringListe.Add('Lizenz: ' + LizLIZENZ.AsString);
     StringListe.Add('Version: ' + IntToStr(LizPVersion.Value));
     StringListe.Add('Anzahl Lizenzen: ' + IntToStr(LizAnzLiz1.Value));
     StringListe.Add('Ihr Schluessel: ' + IntToStr(LizPruef.Value));
     StringListe.Add(' ');
     StringListe.Add('Lizenzierungsschluessel : ' + LizLizKey.AsString);
..
     MailMessage.Body := Stringliste;
     MailMessage.Recipients.EMailAddresses := LizMail.AsString;
     MailMessage.From.Address := AdrMail;
     MailMessage.Subject := 'Ihre Lizenzdaten';
     try
         try
            SMTP.Connect;
            SMTP.Send(MailMessage);
            ShowMessage('Mail wurde versandt');
         except on E:Exception do
            ShowMessage('Mail kann nicht versandt werden');
         end;
     finally
        if SMTP.Connected then SMTP.Disconnect;
     end;
     Stringliste.Free;
Wenn man das im Editiermodus oder im Delphi-Quelltext sieht, sind alle ' + schön untereinander, also 'tabuliert'.

Das funktioniert aber nur, wenn für die Anzeige kein TrueType-Font verwendet wird. Und Tabulatoren setzen geht ja auch nicht. Also muss ich wohl meine Frage etwas umformulieren: Wie kann auf einfache Weise in einer Mail Textspalten erzeugen?
Heinz Schneider

Geändert von hesch21 (24. Okt 2013 um 11:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#4

AW: SMTP MailMessage mit Indy

  Alt 24. Okt 2013, 12:19
Moin moin,

dein Problem wird mit dem versenden als "Textmail" nicht unbedingt damit gelöst, dass du die Mail als Plaintext verschickst. Es kommt ja darauf an, was für eine Schriftart im Mailprogramm des Empfängers eingestellt ist. Wenn dort zum darstellen von Textmails eine Schriftart mit unterschiedlich breiten Zeichen eingestellt ist, dann wird sie dort ja auch falsch dargestellt.

Ich würde eine Mail mit Plaintext und HTML-Part verschicken und deinen Text im HTML Teil in eine "unsichtbare" Tabelle packen. Im Plaintextteil der Mail würde ich halt so formatieren wie du es ursprünglich vor hattest.

Wenn jetzt ein Empfänger keine HTML-Anzeige bei Mails zulässt und eine "andere" Schriftart als default eingestellt hat, dann hat er eben Pech gehabt.

Beispiele für die korrekten Einstellungen findest du z.B. hier: http://www.indyproject.org/sockets/B...8_17_A.EN.aspx
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#5

AW: SMTP MailMessage mit Indy

  Alt 24. Okt 2013, 12:59
In der Plain-Text Variante die Abstände nicht mit Leerzeichen, sondern mit Tabulator-Zeichen (#9, wenn ich nicht irre). Dann sollte das auch mit anderen Schriftarten funktionieren.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:43 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