Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy Smtp: Empfänger mit MAC sehen Attachment nicht (https://www.delphipraxis.net/158494-indy-smtp-empfaenger-mit-mac-sehen-attachment-nicht.html)

easywk 19. Feb 2011 17:18

Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Hallo zusammen,

ich habe ein kleineres Problem mit dem Senden von Mails via Indy Smtp. Verwendet der Mail-Empfänger einen Windows-Rechner und Outlook oder Thunderbird als Mailclient, ist alles gut. Bei Mail-Empfängern mit Mac sind die Attachments aber nicht sichtbar. Mir wird berichtet, dass die Attachments zwar da sind, aber nicht angezeigt werden. Hier mal mein Quellcode:
Delphi-Quellcode:
 
  // Smtp konfigurieren
  Smtp.Username:=ReadString('EMail','Username','');
  Smtp.Password:=DecodePassword(ReadString('EMail','Pwd',''));
  Smtp.Host:=Trim(ReadString('EMail','Host',''));
  Smtp.Port:=ReadInteger('EMail','Port',0);
  Smtp.UseTLS:=utNoTLSSupport;
  // Auth-Typ setzen
  if length(Smtp.Username)=0 then
    Smtp.AuthType:=satNONE
  else Smtp.AuthType:=satDEFAULT;
  // E-Mail konfigurieren
  Screen.Cursor:=crHourGlass;
  with IdMsgSend do
    begin
      From.Text:=EditAbsender.Text;
      Subject:=EditBetreff.Text;
    end;
  // Textteil
  IdMsgSend.MessageParts.Clear;
  with TIdText.Create(IdMsgSend.MessageParts)do
    begin
      ContentType:='text/plain';
      CharSet:='ISO-8859-1';
      ContentTransfer:='base64';
      Body.Text:=Mailtext.Lines.Text; // Text aus Memo übernehmen
    end;
  IdMsgSend.ContentType := 'multipart/related; type="text/plain"';
  IdMsgSend.CharSet :='ISO-8859-1';
  // Alle Dateien aus der Liste als Attachment einfügen
  for cnt:=0 to ListAnhang.Items.Count-1 do
    if FileExists(ListAnhang.Items[cnt]) then
      TIdAttachmentFile.Create(IdMsgSend.MessageParts,ListAnhang.Items[cnt]);
  // Verbindung zum SMTP-Server aufbauen
  Smtp.Connect;
  Smtp.Send(IdMsgSend);
  Smtp.Disconnect;
Smtp und IdMsgSend sind auf dem Formular angelegt:
Delphi-Quellcode:
 
  object Smtp: TIdSMTP
    OnWork = SmtpWork
    OnWorkBegin = SmtpWorkBegin
    OnWorkEnd = SmtpWorkEnd
    MailAgent = 'Thunderbird 2.0.0.9 (Windows/20071031)'
    Port = 0
    SASLMechanisms = <>
    Left = 208
    Top = 223
  end

  object IdMsgSend: TIdMessage
    AttachmentEncoding = 'MIME'
    BccList = <>
    CharSet = 'ISO-8859-1'
    CCList = <>
    ContentType = 'multipart/related'
    Encoding = meMIME
    FromList = <
      item
      end>
    Recipients = <>
    ReplyTo = <>
    ConvertPreamble = True
    Left = 235
    Top = 223
  end

  object IdAntiFreeze: TIdAntiFreeze
    Left = 264
    Top = 224
  end
Ich verwendet Delphi7 und Indy10.

Jemand eine Idee, was ich falsch mache?

easy

Sir Rufo 20. Feb 2011 01:57

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Kuckst du mal da, das hat geholfen
eMail mit Indy

vergessen 20. Feb 2011 06:26

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von Sir Rufo (Beitrag 1083015)
Kuckst du mal da, das hat geholfen
eMail mit Indy

Jajajah, hab's gelesen. Kann Synapse auch den "SSL/TLS-Kram" (mit libeay32.dll
und ssleay32.dll), den z.B. GoogleMail verlangt?

LG
vergessen

Sir Rufo 20. Feb 2011 13:09

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Doku Synapse

vergessen 20. Feb 2011 14:23

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von Sir Rufo (Beitrag 1083068)

:oops: Danke! :oops:

sx2008 20. Feb 2011 14:31

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Das Problem kann beim Sender oder beim Empfänger der Mail (oder an beiden Seiten) liegen.
Wenn du an der falschen Stelle suchst, kannst du tagelang deine Zeit verschwenden.
Es bringt wenig in deinem Code (oder Indy-Code) nach Fehlern zu suchen, wenn du die Ursache nicht kennst.
Also weshalb zeigt der EMail-Client auf dem Mac den Anhang nicht an?

Sir Rufo 20. Feb 2011 14:41

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von sx2008 (Beitrag 1083075)
Das Problem kann beim Sender oder beim Empfänger der Mail (oder an beiden Seiten) liegen.
Wenn du an der falschen Stelle suchst, kannst du tagelang deine Zeit verschwenden.
Es bringt wenig in deinem Code (oder Indy-Code) nach Fehlern zu suchen, wenn du die Ursache nicht kennst.
Also weshalb zeigt der EMail-Client auf dem Mac den Anhang nicht an?

Weil die Mail nicht ganz RFC konform ist?

easywk 20. Feb 2011 14:54

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Hallo zusammen,

erstmal danke für die Antworten.

Zitat:

Zitat von Sir Rufo (Beitrag 1083077)
Weil die Mail nicht ganz RFC konform ist?

Sehe ich genauso und ich würde halt schon gerne wissen, warum das so ist.

Synapse schau ich mir mal an, wobei mir nach dem ersten Blick auf die Intenetseite noch nicht ganz klar ist, wie das dann mit Attachments funktionieren soll. Aber wie gesagt, erstmal nur ein erster Blick.

Gruß
easy

sx2008 20. Feb 2011 16:16

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von Sir Rufo (Beitrag 1083077)
Weil die Mail nicht ganz RFC konform ist?

Ein berechtigter Verdacht. Aber man man bräuchte eine Aufzeichnung
des Datenverkehrs als Beweis.
Dazu würde man natürlich eine möglichst einfache EMail (nur ein Attachment mit wenigen Bytes, nur eine Zeile Text im Body) verwenden.

vergessen 20. Feb 2011 16:39

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von sx2008 (Beitrag 1083094)
Zitat:

Zitat von Sir Rufo (Beitrag 1083077)
Weil die Mail nicht ganz RFC konform ist?

Ein berechtigter Verdacht. Aber man man bräuchte eine Aufzeichnung
des Datenverkehrs als Beweis.
Dazu würde man natürlich eine möglichst einfache EMail (nur ein Attachment mit wenigen Bytes, nur eine Zeile Text im Body) verwenden.

Lasst Euch 'mal eine Mail von einem iPhone schicken...:wall:

Sir Rufo 20. Feb 2011 17:59

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von sx2008 (Beitrag 1083094)
Zitat:

Zitat von Sir Rufo (Beitrag 1083077)
Weil die Mail nicht ganz RFC konform ist?

Ein berechtigter Verdacht. Aber man man bräuchte eine Aufzeichnung
des Datenverkehrs als Beweis.
Dazu würde man natürlich eine möglichst einfache EMail (nur ein Attachment mit wenigen Bytes, nur eine Zeile Text im Body) verwenden.

Wofür den Datenverkehr? Die Mail selber reicht dafür

easywk 21. Feb 2011 08:08

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Guten Morgen,

Zitat:

Zitat von Sir Rufo (Beitrag 1083106)
Wofür den Datenverkehr? Die Mail selber reicht dafür

gespeichert würde eine solche Testmail (kurzer Text, Zip als Attachment) unter Thunderbird gespeichert so aussehen:
Code:
X-Account-Key: account6
X-UIDL: 0MFJTg-1Po8wn2POG-00EtMV
X-Mozilla-Status: 0001
X-Mozilla-Status2: 10000000
X-Mozilla-Keys:                                                                                
Return-Path: <email@mywebspace.de>
Delivery-Date: Mon, 21 Feb 2011 09:02:18 +0100
Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.187])
   by mx.kundenserver.de (node=mxbap4) with ESMTP (Nemesis)
   id 0MFJTg-1Po8wn2POG-00EtMV for email@mywebspace.de; Mon, 21 Feb 2011 09:02:18 +0100
Received: from tia (pd95b23a8.dip0.t-ipconnect.de [217.91.35.168])
   by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis)
   id 0MgJSU-1PepYc2oVS-00Nif4; Mon, 21 Feb 2011 09:02:16 +0100
From: =?ISO-8859-1?Q?Bj=F6rn?= Stickan <email@mywebspace.de>
Subject: Testmail
To: email@mywebspace.de
Content-Type: multipart/related; type="text/plain"; charset=ISO-8859-1;
 boundary="7g7pDR7V3mQN9p2Te=_sH1tqmaDXr5gVJt"
MIME-Version: 1.0
Date: Mon, 21 Feb 2011 09:02:22 +0100
X-Mailer: Thunderbird 2.0.0.9 (Windows/20071031)
Message-Id: <0MgJSU-1PepYc2oVS-00Nif4@mrelayeu.kundenserver.de>
X-Provags-ID: V02:K0:l5izOqfBKkHi8JsifgwYw5BWqIvc0ZvUQ1XzqFHGDGS
 btMvYePfWV4trj3On3k+zOjw215t5D/M2d1HEooAtaw3PjLVHV
 vV2jyiUhbhf01nYnq2hFbfqP+XpKH6gsjcIB/zLYL0B8YJyRCa
 QA1MS9xDoHFY3pLAu7Ay6kFiWNNMCe0TH0URQOYB3XWmdCeVAM
 EHdcZqCLnaixfUpFxzaJQ==
Envelope-To: email@mywebspace.de

This is a multi-part message in MIME format

--7g7pDR7V3mQN9p2Te=_sH1tqmaDXr5gVJt
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: base64
Content-Disposition: inline

RGllcyBpc3QgZWluZSBUZXN0bWFpbA0K

--7g7pDR7V3mQN9p2Te=_sH1tqmaDXr5gVJt
Content-Type: application/octet-stream;
   name="test.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
   filename="test.zip"

UEsDBAoAAgAAAB1IVT5wLwrcFwAAABcAAAAIAAAAdGVzdC50eHREaWVzIGlzdCBlaW5lIFRlc3Rk
YXRlaVBLAQIUAAoAAgAAAB1IVT5wLwrcFwAAABcAAAAIACQAAAAAAAEAIAAAAAAAAAB0ZXN0LnR4
dAoAIAAAAAAAAQAYAMCcrHid0csBwJyseJ3RywGgQ8lwndHLAVBLBQYAAAAAAQABAFoAAAA9AAAA
AAA=

--7g7pDR7V3mQN9p2Te=_sH1tqmaDXr5gVJt--
Ich kann daran nicht erkennen, ob das normkonform ist. Bei den MAC-Usern ist das Attachment aber nicht zu sehen. Im obigen Code habe ich die echte Mailadresse durch email@mywebspace.de ausgetauscht ...

Synapse sieht ja erstmal ganz gut aus. Nur irgendwie ist mir völlig unklar, wie ich da Attachments dran hängen kann....

Gruß
easy

jobo 21. Feb 2011 08:33

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Ich hab mir den Thread nicht durchgelesen, bin aber bei der Email über
Zitat:

Content-Disposition: inline
gestolpert.
An der Stelle hatte ich mal Probleme mit SMTP & Thunderbird. Leider krieg ich es aus dem Gedächtnis nicht genauer zusammen, statt dessen empfehle ich Google Stichwort "inline Attachment" bzw. den Zitatinhalt plus Problem-Browser, das ist je nach Email Client u.U. problematisch.

Deep-Sea 21. Feb 2011 08:37

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Ich weiß nicht ob es das gleiche ist, aber ich hatte ebenfalls mal das Problem, dass Mails nicht korrekt ankamen. Ursache war ein Fehler in der Unit IdMessageClient.pas (Rev 1.85). Dieser bewirkte, das manche Virenscanner (auch die der Mail-Provider) die Mail zerstörten.

Memo 21. Feb 2011 09:50

AW: Indy Smtp: Empfänger mit MAC sehen Attachment nicht
 
Zitat:

Zitat von easywk (Beitrag 1083145)
Synapse sieht ja erstmal ganz gut aus. Nur irgendwie ist mir völlig unklar, wie ich da Attachments dran hängen kann....

Mal aus einem Programm von mir rauskopiert:
Delphi-Quellcode:
var
 fPart: TMimepart;
 fmime: TMimemess;

//Messageboddy anlegen
          fPart := fmime.AddPartMultipart('mixed', nil);


//beliebig viele Anhänge, Dateien durch ; getrennt
          if Anhang <> '' then
          begin
            if Anhang[length(anhang)] = ';' then
              Delete(Anhang, Length(Anhang), 1);
            repeat
              AnhangDummy := ZerlegeAnhang(); //kopiert einen Anhang heraus
              if FileExists(AnhangDummy) then
                fmime.AddPartBinaryFromFile(AnhangDummy, fpart)
              else
              begin
                ErrorMsg := 'Mailanhang nicht gefunden! Versand abgebrochen!';
                Exit;
              end;
            until Anhang = '';
          end;
Schade nur, dass Synapse nicht auf Unicode umgestellt wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 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