Inhalte aufrufen

Profilbild
- - - - -

Base64 Bild per Email message schicken


  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
4 Antworten zu diesem Thema

#1 dbarackov

dbarackov

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 30 October 2019 - 17:36

Hallo,

 

für jede Bestellung generiere ich ein QRCode. Ich habe dbo.Order erweitert und QRCode (Image) wird als Byte[] in Base64 gespeichert.
 
QRCode wird als Image richtig in Views (z.B. in SmartStore.Web\Views\Order\Details.cshtml) dargestellt mit:

<img src="data:image;base64,@System.Convert.ToBase64String(Model.OrderGuidQRCode)" width="120" height="120" />

Wie könnte man ein Base64 Bild per Email message schicken ?

 

Aktuell ist mir nicht wichtig ob das Bild als Attachment oder in Email message body steht.

 

Danke!

 



#2 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 30 October 2019 - 18:31

Das müsste eigentlich auf diese Weise funktionieren, außer dass in deinem Inlining die MIME-Angabe fehlt: aus data:image solltest du data:image/jpeg bzw. png machen.

 

Beachte außerdem, dass Outlook sowie diverse Webmailing-Dienste die Anzeige von Inline Images blockieren, Outlook sogar vollständig.

 

Eine bessere Variante wäre IMHO einen Controller-Endpoint für deinen QR-Code zu bauen, der das Bild per Action zurückliefert. So kannst du das dann in der E-Mail extern verlinken


Murat Cakir
SmartStore AG


#3 dbarackov

dbarackov

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 30 October 2019 - 21:01

Hallo Murat,

und wie wäre es mit Attachment? Kann man ein jpg/png Image generieren und als Attachment schicken?

Danke!

#4 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 30 October 2019 - 21:31

Ja. Siehe CreateAttachmentsConsumer.


Murat Cakir
SmartStore AG


#5 dbarackov

dbarackov

    Member

  • Members
  • PunktPunkt
  • 20 Beiträge

Geschrieben: 31 October 2019 - 11:16

Danke, Murat!
Das mit Inlining hat nicht funktioniert. Scheint die Daten nicht erreichbar zu sein. Muss ich zuerst irgendwo die Variable von dbo.Order zur Verfügung stellen?