메일에 지도를 첨부해야 할 일이 생겼다. 그래서 iframe을 이용해 Google Map을 임베딩 하는 코드를 사용해 봤다.
결과적으로 Mozilla Thunderbird, Microsoft Outlook, Gmail 등에서 지도가 보이지 않았다. Thunderbird에서는 지도가 아주 아주 아~~~~주 잠깐 보이다가 사라져버린다. iframe자리에는 공백만이 보였다. 단지, 사내에서 쓰는 웹메일만 지도를 보여주더라.
이유가 뭘까?
너무나 오랫동안 고민했었지만 결국 해결을 하지 못 했다.
사실 원인은 너무나 명확하다. iframe이나 javascript같이 외부 컨텐츠를 삽입하거나 조작할 수 있는 기능은 보안상의 문제로 MUA(Mail User Agent)에서 막고 있는 거다. 안그래도 보안상 이슈로 '메일 열어볼 때 조심하셈' 이라는 캠페인이 제법 많은 시절이다.
결국 위에 지도가 보이지 않은 MUA들은 정말 제대로 된 MUA라는 거다. iframe이 그냥 보이던 웹메일이 엉터리라는 말이다.
...
해법을 하나 제시해 보자. iframe 형태가 아니라 img 형식이면 아마도 되겠지. 이를 위해서 Google Static Maps API 라는게 존재한다. 고마운 일이다.
ps. Mail User Agent라는 말이 좀 구식인 것 같기도 하다. 그냥 메일 클라이언트 라고 해도 된다. -_-;;
Popular Posts
-
이번 글은 굉장히 유명한 수학 함수 3가지를 적어보는 글입니다. 그리고 오랜만에 구어체가 아닌 존대말(?)로 쓰는 글이기도 하겠네요. 이번에 언급하는 함수 세 가지, 즉 ceil(), floor(), round() 함수는 C 언어 시절부터 쓰이...
-
Python 코딩하면서 겪게 된 실수를 한번 정리해 볼까.
-
Vim에서 한글을 입력하다 ESC를 눌러서 편집모드를 빠져 나와서 다른 커맨드를 입력하려 할 때 동작 안하는 경우가 있다. 한글 상태라서 키 입력을 제대로 못 알아먹는 상태인데 수동으로 영문으로 바꿔주면 되긴 된다. 이런 불편함으로 인해 영어만을 사용...
-
일반적으로 OOP에서는 생성자(Constructor)와 파괴자(Destructor) 라는 개념이 있다. 객체의 탄생과 사라지는 시점에 맞춰 시작과 끝에 호출되는 메소드로 설명되는데, 스위프트에서는 초기화(Initialization)와 마무리(Deini...
-
node.js 는 비동기(asynchronous) 모델의 코딩을 하기 쉽도록 디자인 되어 있다. 하지만 그렇다고 무작정 쉽게 코딩이 가능한건 아니다. 기존의 동기화 기반의 멀티스레드 모델을 코딩 했거나 함수나 메서드 등의 리턴값을 이용해 로직을 작성하...
-
XCode에 포함된건지 OSX에 기본적으로 배포되는지는 모르겠지만, 일단 기본적으로 FileMerge라는 머지툴을 이용 할 수 있다. 이걸 터미널에서 실행시킬 때는 opendiff 명령을 이용할 수 있다.
-
Emacs와 Vim은 성전(?)이라 불릴 정도의 치열한 영역싸움(거기다 감정싸움 까지도 -ㅁ-)을 벌이는 상대다. 그런데 거기에 이단이 있으니, 바로 Emacs를 vi(vim이 아니다)와 비슷하게 바꿔주는 모드가 있다. 바로 viper-mode 이다....
-
내 나이대도 이제는 젊다고 하기에는 힘든(?) 수준으로 치닫고 있다. 세월의 흐름이 너무 빨라서 아쉽고 벅차고 숨차기는 하지만, 이럴 때 일 수록 추억을 떠올려 보면 나름 재미있는 세월을 보냈구나 생각이 든다. 이참에 옛날 옛적에 쓰던 구식 컴퓨터...
-
앞서 Swift 프로젝트에서 Objective-C 코드를 사용하기에 관한 글 을 적으면서 '과연 스위프트 모듈을 Objective-C 프로젝트에서 쓸 일이 있을까' 라고 적긴 했었는데, 실상은 왠지 쓸 수도 있을 것 같다는 느낌이었다. ...
Tags
Blog Archive
-
▼
2011
(273)
-
▼
2월
(39)
- 커맨드키(애플키)의 존재의 정당성!??
- MacPorts 기본 사용법 정리
- [Vim] Vim 설정 파일(vimrc) 및 플러그인 공유
- [iOS/Three20] TTNavigator with UITabBarController
- [iOS/Three20] TTTableViewController 의 기본
- [iOS/Three20] JSON Parser: extThree20JSON
- [iOS/Three20] TTNavigator 기초
- [iOS/Three20] Add to Project
- [Vim] ucs-bom, BOM(Byte Order Mark)
- [Emacs] Emacs 설정 파일 재로딩: reload-dotemacs
- [Emacs] anything.el
- [Python] Regular Expression API (정규표현식 API 기본)
- [Python] Directory(Folder) / File 목록 다루기
- SimpleNote + SimpleNote App + MarkDown으로 글 쓰기
- [Python] Dictionary 기본
- [Django] Unit Test 기본 정보
- [Python] 가끔 저지른 실수들
- [Vim] 윈도우에서 UTF-8을 적용하면 한글메시지가 깨지더라
- [Vim] OS 별 Vim 설정을 분리하기(?)
- [Vim] CTags를 이용한 코드 탐색에 관하여
- [Vim] Auto Word-Completion에 관한 설정
- [Vim] Configuration to Edit Multiple Files
- [Util] screen 기본 사용법 메모
- [Django] Query 명령어 (일부만) 메모
- [Vim] Plugin: snipMate - TextMate-style snippets f...
- [Vim] Plugin: FuzzyFinder
- [Java] Python의 string.split()은 어떻게?
- [Android/Java] Run shell command
- 폭풍 업데이트!
- [Python] struct 와 padding 에 대한 잡설
- SIGSEGV 란 용어에 대해
- [Django] 500 Error Page
- Mail User Agent에서는 iframe를 배척하는 걸까 (잡설)
- [Python] Log Detailed Exception
- [Python] Send mail attached HTML via sendmail
- [Python] Auto-Machine(?) APIs
- [Python] Logging
- [Python] Unicode/UTF-8
- [Django] Multiple Unittest Files
-
▼
2월
(39)
0 comments:
댓글 쓰기