2012-05-08 3 views
1

모바일 용으로 최적화하려는 웹 응용 프로그램이 있습니다. 내 스마트 폰의 기본 메일 클라이언트에서 직접 mailto 함수가 작동하지 않습니다. 그것은 Gmail 클라이언트에서 작동하지만 Exchange 전자 메일과의 통합을위한 기본 클라이언트에서는 작동하지 않습니다. (또한 iphone fwiw에서도 작동하는 것 같습니다.) 네이티브 클라이언트에서 일어나는 일은 캐리지 리턴이 모두 끊긴 것입니다. 그래서 다음과 같은 뭔가를 말 :내 mailto 링크의 줄 바꿈이 Android 전화에서 깨졌습니다.

이 멋진 아닌가요 : 나는 Gmail 애플리케이션과 열을 선택하면

sendLinkByEmail: function (subject, message, url) 
    { 
     var parsedMessage = encodeURIComponent("Isn't this cool?\n I am sending you an email!"); 
     var emailLink = "mailto:?Subject=" + encodeURIComponent(subject) + "&body=" + parsedMessage; 
     window.location = emailLink; 
     return false; 
    } 

가, 내가 기대하는 것을 볼?

이메일을 보냈습니다.

하지만 메일 응용 프로그램으로 여는 경우, 난 그냥

이 시원하지가 얻을?

그게 전부입니다.

% 0A 또는 % 0D % 0A를 사용하거나 encodeURIComponent를 사용하지 않으면 동일한 결과가 발생합니다 (예 : 메시지가 문자 그대로 "Foo % 0D % 0ABar"입니다. .

그 바보 같은 메일 클라이언트가 무엇을하는지 알아낼 수 없습니다! 누구든지 어떤 생각을 가지고 있습니까?

대단히 감사합니다 !!!


그냥 내 문제도 크다 실현 - 바보 같은 메일 클라이언트는 이후에 아무것도 자릅니다도 인코딩 & (26 %) 그래서 함수의 전체 포인트입니다 중 하나 URL을 포함 할 수 없습니다 .

웹 응용 프로그램에서 메일 클라이언트를 여는 대신 mailto를 사용할 수 있습니까?

+0

나는 8023 번 버그를 넘어서고있는 것 같아. http://code.google.com/p/android/issues/detail?id=8023 –

답변

0

mailto : 링크의 성공 사례는 메일 클라이언트마다 다를 수 있습니다. 내가 가장 잘 작동하는 것으로 밝혀진 것은 \ n 대신 % 0d를 사용하지만, 심지어 모든 클라이언트가 \ n을 지원하지는 않는다.

서식이 중요한 경우 mailto : 링크는 원하는 것이 아닙니다.

+0

답장을 보내 주셔서 감사합니다 (사실 실망 스럽지만!) 모든 클라이언트에 형식이 표시되지 않았다면 걱정하지 않아도됩니다. 그러나 메시지의 끝을 잘라내는 것은 받아 들일 수 없다. 그래서 대부분의 줄 바꿈 잘 처리 할 수 ​​있지만 모든 클라이언트에 대한 서식을 제거해야합니다. 꿰매다. 따라서 mailto 링크가 내가 원하는 것이 아닌 경우 전화에서 전자 메일 클라이언트를 열려면 webapp * (기본이 아닌)에서 무엇을 할 수 있습니까? –

+0

불행히도, 네이티브 메일 클라이언트를 여는 것이 목표라면 mailto : 링크 만이 유일한 옵션입니다. 그렇지 않으면 자신의 메일 구현을 사용하여 컨텐트를 보낼 수 있지만 분명히 사용자는 자신의 로컬 주소록에 액세스 할 수 없습니다. 이것은 구현의 단점이라고 할 수 있습니다. –

관련 문제