developer tip

기본 이메일 클라이언트를 자동으로 열고 콘텐츠를 미리 채 웁니다.

optionbox 2020. 12. 1. 07:54
반응형

기본 이메일 클라이언트를 자동으로 열고 콘텐츠를 미리 채 웁니다.


사용자가 페이지에 일부 콘텐츠를 저장할 때 사용자의 기본 이메일 클라이언트를 자동으로 열어야합니다. 이메일 제목을 입력하고 주소를 지정하고 이메일 본문에 일부 내용을 입력해야합니다.

이를 달성하는 가장 좋은 방법은 무엇입니까?

mailto:속성을 알고 있지만 사용자가이 항목을 클릭해야하며 제목과 내용을 지정할 수 있는지 잘 모르겠습니까?


에 의해 설명 된 바와 같이 RFC 6068 , 흔한는 지정할 수 있습니다 주제신체 뿐만 아니라, CC의 필드. 예를 들면 :

mailto:username@example.com?subject=Subject&body=message%20goes%20here

JavaScript로 강제로 열면 사용자가 링크를 클릭 할 필요가 없습니다.

window.location.href = "mailto:user@example.com?subject=Subject&body=message%20goes%20here";

브라우저 / 이메일 클라이언트가 mailto 링크를 처리하는 단일 표준 방법은 없습니다 (예 : 제목 및 본문 필드가 경고없이 삭제 될 수 있음). 또한 팝업 및 광고 차단기, 바이러스 백신 소프트웨어 등이 mailto 링크의 강제 열기를 자동으로 차단할 위험이 있습니다.


JQuery :

$(function () {
      $('.SendEmail').click(function (event) {
        var email = 'sample@gmail.com';
        var subject = 'Test';
        var emailBody = 'Hi Sample,';
        var attach = 'path';
        document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody+
            "?attach="+attach;
      });
    });

HTML :

 <button class="SendEmail">Send Email</button>

Jquery를 사용하지 않고 이렇게 구현했습니다.

<button class="emailReplyButton" onClick="sendEmail(message)">Reply</button>

sendEmail(message) {
    var email = message.emailId;
    var subject = message.subject;
    var emailBody = 'Hi '+message.from;
    document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody;
}

사용 해보세요

<a href="mailto:demo@demo.com"><img src="ICON2.png"></a>

기본 메일을 직접 열어 볼게요

참고 URL : https://stackoverflow.com/questions/13231125/automatically-open-default-email-client-and-pre-populate-content

반응형