Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi EMail mit Anhang (https://www.delphipraxis.net/200868-email-mit-anhang.html)

Walter Landwehr 11. Nov 2019 16:56

AW: EMail mit Anhang
 
Ich habe den Anhang jetzt mal über Outlook nach Thunderbird geschickt (ohne Delphi ) auch hier verschwindet der Anhang.

Harry Stahl 11. Nov 2019 17:24

AW: EMail mit Anhang
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also, Du hast ja auch nichts geändert, es fehlt nach wie vor die Angabe des charsets in der Content-Type-Angabe, habe Dir mal als Anlage einen Screenshot vom Origimal-Mailtext gemacht, wie er hier ankommt (alle personenbezogen Daten wurden natürlich unkenntlich gemacht).

Wenn ich Deinen PDF-Anhang mit meinem Mailprogramm versende, kommt auch der Anhang in Thunderbird an...

Harry Stahl 11. Nov 2019 18:01

AW: EMail mit Anhang
 
Auch in Deiner Mail von 18:50 Uhr fehlt die Angabe.

Hast Du idMessage1.CharSet := "DeinCharset", also z.B,

idMessage.charset := 'utf-8';

gesetzt?

Dein Text muss dann natürlich auch UTF-8 sein und nicht etwa ANSI...

Mit Ansi würde ich heutzutage allerdings nichts mehr versenden, da kann man damit rechnen, dass einige Clients Probleme machen (da das evtl. nicht ausrechend berücksichtigen). Würde immer utf-8 nehmen, da bist Du meistens auf der sicheren Seite.

In meinem Programm ist auch UTF-8 Standard zum Mailversand. Wenn HTML ins Spiel kommt, wird immer im utf-8 Format gesendet, der User könnte also nur im reinen Textformat z.B. Ansi verwenden...

Walter Landwehr 11. Nov 2019 18:02

AW: EMail mit Anhang
 
Dies sind meine Einstellungen.
Delphi-Quellcode:
  IdSmtp.Host          := fSmtpServer;
  IdSmtp.Port          := fSmtpPort;
  IdSmtp.Username      := fUserName;
  IdSmtp.Password      := fPassword;
  IdSmtp.ConnectTimeout := 60000;
  IdSmtp.UseEHLO       := true;

  //-- Test --
  if test then begin
    // IdSmtp.UseEHLO := false;
  end;

  // IdMsg.Clear;
  IdMsg.Sender.Text              := fSenderEMail;
  IdMsg.From.Name                := fSenderName;
  IdMsg.From.Address             := fSenderEMail;
  IdMsg.ReplyTo.EMailAddresses   := fSenderEmail;
  IdMsg.Recipients.EMailAddresses := fToEmail;
  IdMsg.Subject                  := fSubject;
  IdMsg.Priority                 := fPriority;
  IdMsg.CCList.EMailAddresses    := fCCEMail;
  IdMsg.ReceiptRecipient.Text    := '';
  IdMsg.BccList.EMailAddresses   := fBCCEMail;
  IdMsg.CharSet                  := 'Windows-1252';
  IdMsg.Encoding := meMIME;
  IdMsg.AttachmentEncoding := 'MIME';
  IdMsg.ContentType := 'text/plain; charset=Windows-1252; format=flowed';
  IdMsg.ContentTransferEncoding := '8 bit';

Harry Stahl 11. Nov 2019 19:04

AW: EMail mit Anhang
 
Also ich nutze die Indys auch nur teilweise zum Versand, den Body incl. Anlage erzeuge ich im Prinzip selber.

Aber es müsste reichen, wenn Du einmal die Charset-Anabe machst (auch nicht nochmal bei ContentType), Indy müsste dann beim Versand den Eintrag anhängen.

Und außerdem nehme ich ja an, dass Du mit Message-Parts arbeitest, da musst Du auch die Charset-Angabe machen.

8Bit als Contenttransfer-Encoding kannst Du eigentlich nur nehmen, wenn Du reinen ANSII-Text sendest.

Nimm quoted printable oder Base64

Davon abgesehen hängt es natürlich auch davon ein wenig ab, womit Du Deinen Body-Text befüllst. Ist das wirklich ANSI-Text (wegen Deiner Windows-1252 Angabe)?

Ist die Quelle für den Messagepart bzw. Body eine Datei oder Text, den Du selbst erzeugst? Bei den neueren Delphis ist das ja automatisch UTF8, es sei denn Du arbeitest explizit mit ANSIString.

Würde daher alles auf utf-8 umstellen, dann solltest Du keine Probleme bekommen....


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Seite 2 von 2     12   

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