2010-10-28 26 views
5

Wysyłam wiadomości e-mail w formacie HTML z osadzonymi obrazami (jako załączniki), a obrazy są wyświetlane zgodnie z oczekiwaniami w Gmailu. Są one jednak wyświetlane jako załączniki w wiadomości e-mail. Czy ktoś wie, jak tego uniknąć, tj. Chcę je tylko w e-mailu, a nie na liście załączników. Użyłem "Content-Disposition: inline". Używam Spring i JavaMail.Jak zatrzymać osadzanie obrazów w wiadomościach e-mail wyświetlanych jako załączniki w Gmailu?

Oto, jak wyglądają moje e-maile. Czy ktoś może zobaczyć, co jest nie tak?

Delivered-To: ... 
... 
Subject: ... 
MIME-Version: 1.0 
Content-Type: multipart/mixed; 
    boundary="----=_Part_0_1248835444.1288246311187" 

------=_Part_0_1248835444.1288246311187 
Content-Type: multipart/related; 
    boundary="----=_Part_1_592250078.1288246311197" 

------=_Part_1_592250078.1288246311197 
Content-Type: text/html; charset=us-ascii 
Content-Transfer-Encoding: 7bit 
Content-Disposition: inline 

<html> 
<body> 
<p><img src="cid:a0"/></p> 
</body> 
</html> 
------=_Part_1_592250078.1288246311197 
Content-Type: image/x-png 
Content-Transfer-Encoding: base64 
Content-Disposition: inline 
Content-ID: <a0> 

iVBORw0KGgoAAAANSUhEUgAAAPAAAABQCAYAAAAnSfh8AAAACXBIWXMAAC4jAAAuIwF4pT92AAAA 
... 
Qcz8hzyUxqGHjkNbsY4Df5iBg6OIwafQHBxFjP8PAIwl43uhncLdAAAAAElFTkSuQmCC 
------=_Part_1_592250078.1288246311197-- 

------=_Part_0_1248835444.1288246311187-- 

Odpowiedz

5

Jest to możliwe, aby uzyskać takie ciało poczty z Gmaila, wykonując następujące kroki:

  1. włączyć w Gmail Labs „Wstawianie obrazów Kent T”
  2. napisać maila i osadzić obraz do wiadomości
  3. Wyślij wiadomość e-mail
  4. otwórz wiadomość. W prawym górnym rogu naciśnij obrazek ze strzałką w dół (tuż obok Odpowiedz) i naciśnij "Pokaż oryginał". Tam znajdziesz przykład takiej poczty.

Zrobiłem to i otrzymałem wynik, w którym obraz nie jest wymieniony jako załącznik. Może ten korpus wiadomości pomoże ci stworzyć prawidłową pocztę ze Spring i JavaMail:

MIME-Version: 1.0 
... 
Subject: ... 
From: ... 
To: ... 
Content-Type: multipart/related; boundary=000e0cd62fb69a9c280493a7a1c0 

--000e0cd62fb69a9c280493a7a1c0 
Content-Type: multipart/alternative; boundary=000e0cd62fb69a9c250493a7a1bf 

--000e0cd62fb69a9c250493a7a1bf 
Content-Type: text/plain; charset=ISO-8859-1 

[image: abc.png] 

--000e0cd62fb69a9c250493a7a1bf 
Content-Type: text/html; charset=ISO-8859-1 

<img src="cid:ii_12bf191c5eab934e" alt="abc.png" title="abc.png"><br> 

--000e0cd62fb69a9c250493a7a1bf-- 
--000e0cd62fb69a9c280493a7a1c0 
Content-Type: image/png; name="abc.png" 
Content-Transfer-Encoding: base64 
Content-ID: <ii_12bf191c5eab934e> 
X-Attachment-Id: ii_12bf191c5eab934e 

iVBORw0KGgoAAAANSUhEUgAAAJ4AAADLCAIAAAAQpL1oAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA 
... 
+0

Dobry pomysł. Spróbuję skopiować ich nagłówki i zobaczyć, jak to działa. Dzięki. –

+2

Praca! Musiałem zmienić kilka rzeczy: 1. Pierwszym typem treści musi być "Content-Type: multipart/related;" 2. Załączniki obrazów mogą * nie * mieć "Content-Disposition: inline". –

+1

Używam programu emailjs z węzłem i zauważyłem, że musiałem użyć nawiasów trójkątnych wokół identyfikatora treści: '' 'Content-ID: '' '. Mam nadzieję, że to komuś pomaga. – snapfractalpop