2012-06-05 7 views
1

사용자에게 확인 이메일을 보내야합니다. 링크를 클릭하면 기본 이메일 클라이언트를 열고 body 태그에 HTML을 추가하려고합니다.자바 스크립트를 사용하여 이메일 본문에 html을 추가하는 방법은 무엇입니까?

var subject = Your transaction No: +': ' + $('#confirmationNumber').text()+ ' is confirmed'; 
var emailBody = $('#confirmation').html(); 
$(this).attr('href','mailto:'+userEmail+'&subject=' + subject +'&body='+ emailBody); 

'emailBody'의 HTML이 본문에 HTML로 추가되기를 원합니다. 그러나 그것은 나를 대신 전체 HTML 태그를 표시합니다.

본문에 HTML을 추가 할 수있는 방법이 있습니까?

답변

1

대답은 짧지 만 불행한 일이다 :

번호

mailto: -links를 사용하여, 당신은 텍스트 만이 아닌 HTML을 지정할 수 있습니다. 사용자의 메일 클라이언트가 HTML을 사용하여 메일 메시지를 작성하더라도 본문 텍스트는 텍스트로만 삽입됩니다.

웹 페이지에서 할 수있는 일은 없습니다.

0

를 사용하여 모든

var emailBody = $('#confirmation').text(); 
+0

yeh 나는 그것을 사용했다. 그러나 그것은 전자 메일 본문에 한 줄에 모든 텍스트를 추가한다. 나는 그들에게 약간의 과감한 태그와 줄 바꿈을 원한다. – nipiv

+0

본문은 'text/plain'이어야하며 HTML 태그를 사용할 수 없습니다. – Dev

+0

JS 인코딩을 시도했지만 저를 위해 작동하지 않았습니다. – Dev

0

먼저 코드를 일부 수정 :

  • subject 심하게
  • 연결된되었다 쉼표로

    var subject = 'Your transaction No: ' + $('#confirmationNumber').text() + ' is confirmed', 
        emailBody = $('#confirmation').html(); 
    $(this).attr('href', 'mailto:' + userEmail + '&subject=' + subject + '&body=' + encodeURI(emailBody)); 
    
    • 를 사용하여 단일 var 키워드와 별도의 변수

    다음으로 링크에 html 코드를 전달하려면 특수 문자를 인코딩해야합니다 (encodeURI()).


    아차, 인코딩 몸은 내가 잠시 동안 인터넷 검색 .. 이메일 클라이언트에서 HTML로 취급되지 않고는, 올바르게 전달할 수 없습니다 당신이 열어 클라이언트 대신 메시지를 보낼 수 없습니다 보인다 ?

    +0

    첫째로 나쁜 주제 concatenaiton를 위해 유감스럽게, 나는 저것을 타자를 쳤다. 그리고 :(hte encodeURI를 위해. 그것은 클라이언트 요구 사항이었습니다.하지만, 맞습니다 .. 대신 messge로 보낼 것입니다 .. – nipiv