Ha körülnézünk kicsit a neten akkor a címben szereplő dologról azt olvashatjuk, hogy  az Exchange beépített lehetőségeivel nem megvalósítható, vagy ha igen akkor körülményes és nem lesz teljeskörű a megoldás.

Megnyertem feladatként, hogy oldjam meg.

Első felvonás – google félmegoldások

Az interneten található félmegoldások egy weboldalra kirakott kép copy/paste-el való beillesztéséről szólnak. Ilyenkor ne tévedjünk nem a kép fog a levélbe bekerülni, hanem a kép linkje. Némelyik „megoldás” még azt a remek ötletet is elköveti, hogy küldjünk magunknak egy képet, majd az OWA-ba érkezett levélből copy/paste. Ez azért ÓRIÁSI ötlet, mert ezesetben a levél OWA-s linkje kerül bele az aláírásba ami a saját postaládánkra mutat amihez ugye senki sem akarja a címzettnek odaadni a hozzáférést.

Ok. Szóval tegyük ki a képet egy publikus oldalra, illeszük be a képet az aláírásba és már működik is. Mi ezzel a baj?

A HTML levélbe egy kép két módon kerülhet bele:

Külső oldalra oldalra mutató hivatkozásként. Mint esetünkben is.

A levélhez csatolt MIME part-ként (csatolmányszerű dolog) amire a HTML forrásból egy CID-val hivatkozunk.

Az első esetben, ha a levelet Microsoft Outlookban olvassuk, akkor az Outlook biztonsági okokból le fogja tiltani a képhez való hozzáférést mert nem megbízható oldalra vonatkozik a hivatkozás. Ez nekünk nem jó.

A második eset lenne jó, viszont ezt az OWA-ból nem tudjuk kikényszeríteni.

Második felvonás – nyomozzunk

Trükközzünk kicsit a HTML-el. A kép HTML tagje alapvetően így néz ki: <img src=”link” />. Ebbe be lehet ágyazni képet. Ez valami ilyesmi lesz: <img src=”data:image/jpeg,base64,a kép base64 kódja” />. Ha ezt rakjuk az OWA-ba (ez már copy/paste-el nem fog menni, csak EWS-ből kóddal) akkor a beállítások között szépen meg is jelenik a kép, de amikor egy levelet írunk már nem jelenik meg. Elküldve sem jó.

Harmadik felvonás – programozunk?

Megtehetném, hogy az img tagbe beteszek egy plusz spec attributumot, remélve, hogy az owa nem szedi ki, majd egy Transport Agentből a spec attributumos img-eket átalakítom CID-ra, de ez nem kevés munka. Talán majd egyszer.

Negyedik felvonás – megoldás pénzért

Gondolkozzunk fordítva. Mi kell ahhoz, hogy egy Outlook egy külső web oldalról származó képet megbízhatónak minősítsen? Vagy benne kell lennie az IE Trusted Zone-ban lásd: https://www.emaildetektiv.hu/2009/11/24/hianyzo-kepek/, vagy SSL oldalról kell származnia aminek a Root CA-jában a windows megbízik. Az első eset nem járható, hiszen a címzetteinket nem tudjuk arra kényszeríteni, hogy a weboldalunkat berakják a Trusted Zone-ba. Ha saját CA-t használunk (mint én a legtöbb esetben) az általa kiadott SSL tanusítvány szintén nem lesz jó, hiszen a saját CA tanúsítványa nincs rajta a Microsoft féle Trusted Root Certification Authorities listán. Nem marad más hátra, mint az, hogy veszünk valahonnan egy tanúsítványt, építünk egy SSL weboldalt, kirakjuk oda a képeket és ezeket használjuk az aláírásban. Ez működik, de pénzbe kerül, a tanúsítvány éves díjába.

Ötödik felvonás – a felhő ereje

Hogyan lehetne mégis kikerülni, hogy  pénzbe kerüljön ez a történet? Vannak ugye olyan szolgáltatók akik ingyen adnak valamennyi tárhelyet egy felhő alapú megoldásban. Ezekhez a tárhelyekhez, tipikusan van web alapú hozzáférés. Ez a web alapú hozzáférés titkosított kell legyen, hiszen a magán dokumentumainkat tároljuk rajta. Az ilyen szolgáltatók természetesen olyan Root CA-tól veszik a tanúsítványaikat aki fenn van a Microsoft listáján. Továbbá ezek a szolgáltatások tipikusan kínálnak publikus fájl elérést is.

Rakjuk ezt össze:

Gyártunk egy dropbox accountot. (Elég lesz az ingyenes 2GB tárhely az email aláírás beágyazott képének? Asszem.) felrakjuk a kliensét. Bedobjuk az aláíráshoz szükséges képet a Public mappába. nyomunk az explorerben egy jobb egérgombot a képfájlon, majd a menüből: Dropbox -> Copy public link. Amit kapunk, bedobjuk az IE-be, kicseréljük a http-t https-re, enter és már meg is jelent a kép a böngészőben. Képen jobb egérgomb, másolás, az owa aláírásmezőjében beillesztés és kész is vagyunk.

Nincs ingyen tanúsítvány, csak nem te fizeted.