收到某科技傳來的電子報,結果所有已經內嵌在信件中的圖檔都看不到,引起了好奇心。
錯誤的做法:
- 信件內容:可以發現圖檔都有含在信件中。
![信件內容](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7jbVo9VlWVE2PhgPVTs-3WBaSSGkolSi-er1qFuAR2BDaBcWBV2xDbRrYa9Ad4mYMdRaPo_GYuoTUCwWwrVY_978KGDSjJ-k8niaBo2yvolTgNer0vfF6R_cPG_t-EFj9usJrnzjI9E4/)
- 檢查信件標頭:注意到所有的圖檔都標上同一個 Content-ID。
![另一個圖檔的標頭資訊](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjayIRXUe7zBjtErbsml5sOyLjMAKAEefgAmH9WWoT_j5RA_lQzmaroLvAZ4rDYNARM6GuGHsFC6u21uLdjUFWLYw8_hYNEjHuekD8fMdKqP9lORT6RS6GLAHNqElgm43IdATj0OvE3BTg/)
- 圖檔的引用方式錯誤:
![錯誤的圖檔引用方式](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjopLGvvenZedDIr-kRsew_ToUmsW7wS07b7tIy6YbB1JvdD6SKcUf4yro9iRl5KWNxIbKFodSOW-ktS1yBepqVrpj_KyIsvuTtwYIWVhmrVlaR5TcQ6y8mHN3C4FPZBdKA86zVKK9A_Uw/)
正確的作法:
- 先前寫的 Java 版傳信工具:可正常顯示內嵌圖形。
![正常顯示的內嵌圖形](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ_QJgG0SlItKdX4ehowLE0n3K5tSgSb9niXNdTJngrty4SApUPKU7A-P5l_LidIZiGFW176YG2nBPDm2rcm0smrF4aMjEGQTtpjUVO0065XsASTMBUhmgRBNL1AVzzndUmp365o4SYZA/)
- 信件標頭:這裡指定 Content-ID 為 img。
![圖檔的信件標頭設定](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiunk5Sa84HKaN-prRa3MNiLpFgum4e7NPv27vkJzCnlD3D2__8oiA6rh-ya0zXAGNJdZkzoUTv3248zklXeN3VYjff1qcKDXn8Ea6qYutCYPeU0Jm9X3bGeSEgGKv9FSGSw9DKjqSIbcY/)
- 正確引用圖檔的方式:必須指定要載入 Embed Content 中的附件。
![正確的圖檔引用方式](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtGA-rUJRtIXQfzycM7gdrEbYu_DZ8za8PTCIX8gGLcujLbhryBtAJZCMVSxLvDcu8D83-jkfn3R05g6_tJnJLlF-garcdUihVve8nzJOrvZEzrz_qVEP1CrCXyxQiclqwcRDfSHMfyfw/)
說明:
- Content-ID 是用來識別每一個附檔的代碼,若全部設定成同一個的話要如何識別呢?
- 若要在信件中使用已嵌入的附件時,必須在 src="" 的屬性設定中加上 cid: 以及先前在標頭中對附檔指定的 Content-ID 名稱以便讓郵件軟體(MUA)知道要載入的目標物是儲放在信件中。
- 所以這個某某科技電子報有問題的原因在於兩點:Content-ID 重覆;附件來源指定的方式錯誤。
在撰寫電子報軟體時請記得:
- 如果使用的郵件傳送元件(ex:AspEm@il ) 提供內嵌圖檔功能時依其規定載入附件(如:AspEm@il Chapter 4. Embedded Images)。
- 如果沒有提供內嵌圖檔功能時,確認可否在載入附檔時指定 Content-ID。如果不能的話… 麻煩換一個新的元件吧!
- 最後要將所有引用到附件的路徑名稱全部代換成 cid:<Content-ID> 。
沒有留言:
張貼留言