Ich erstelle eine System.Net.Mail Nachricht mit einem HTML-Text. Ich befestige ein JPEG-Bild (aus einem Byte-Array) der Unterschrift des Kunden an die E-Mail und sende es an ein Service-Center. Das Service Center wollte die Signatur sehen, ohne den Anhang öffnen zu müssen, also habe ich den HTML-Code geändert und das Bild erneut als LinkedResource hinzugefügt. Das Problem ist, dass der Anhang jetzt größer als zuvor ist und der Versuch, den Anhang anzuzeigen, einen Fehler anzeigt. Wenn ich den Anhang speichern und die Datei in einem Hex-Editor öffne, ist die gesamte Datei leer. Ich kann den Code kommentieren, der die verknüpfte Ressource hinzufügt, und der Anhang funktioniert wieder. Wie kann ich das Inline-Bild und den Anhang hinzufügen?Wie kann ich ein Bild anzeigen und es als Anlage an eine E-Mail hinzufügen
Dies ist der Tag, in der ich Bild einbetten: <p><img src=cid:CustomerSignature /></p>
Dies ist mein Code:
System.IO.MemoryStream ms = new System.IO.MemoryStream(insuranceClaim.Signature, 0, insuranceClaim.Signature.Length);
ms.Position = 0;
System.Net.Mime.ContentType contentType = new System.Net.Mime.ContentType();
contentType.MediaType = System.Net.Mime.MediaTypeNames.Image.Jpeg;
contentType.Name = "signature.jpg";
System.Net.Mail.Attachment imageAttachment = new System.Net.Mail.Attachment(ms, contentType);
System.Net.Mime.ContentDisposition disposition = imageAttachment.ContentDisposition;
mailMessage.Attachments.Add(imageAttachment);
System.Net.Mail.LinkedResource signature = new System.Net.Mail.LinkedResource(ms, new System.Net.Mime.ContentType("image/jpeg"));
signature.ContentId = "CustomerSignature";
System.Net.Mail.AlternateView aView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(mailMessage.Body, new System.Net.Mime.ContentType("text/html"));
aView.LinkedResources.Add(signature);
mailMessage.AlternateViews.Add(aView);
Mein Problem war anders: Ich konvertierte mein Bild nicht in Byte-Array. Dein Beitrag hat mir trotzdem geholfen;) –