문제

이것은 작은 혼란을 설명하고,그래서 여기에 나와 함께...

내가 원하는 시스템을 설치하는 사용자가 보낼 수 있습니다 템플릿에 이메일을 통해 내 사이트를 제외하고,그것이 실제로 사용하여 전송한 내 서버-그것은 당신이 열리는 자신의 로컬 메일 클라이언트는 이메일로 갈 준비가되어 있습니다.응용 프로그램 작성의 몸을 이메일로 미리 정의된 변수를 저장하는 데 사용하는 유형들었습니다.그 다음 메시지를 편집하고 원하는대로 해야 그것은 정확히 맞는 그들의 목적이다.

이 이유도를 통해 사용자의 로컬 메일 클라이언트,그래서 서버를 이메일을 보내지 않는 옵션:그것은 100%클라이언트 측.

저는 이미 주로 일하는 솔루션을 실행,그리고 나는 게시물의 세부 사항에 대한 답변으로,궁금하네요가 있다면 더 좋은 방법이 있을까?

도움이 되었습니까?

해결책

내가 지금하고있는 방식은 기본적으로 다음과 같습니다.

HTML :

<textarea id="myText">
    Lorem ipsum...
</textarea>
<button onclick="sendMail(); return false">Send</button>

자바 스크립트 :

function sendMail() {
    var link = "mailto:me@example.com"
             + "?cc=myCCaddress@example.com"
             + "&subject=" + escape("This is my subject")
             + "&body=" + escape(document.getElementById('myText').value)
    ;

    window.location.href = link;
}

놀랍게도 이것은 오히려 잘 작동합니다. 유일한 문제는 신체가 특히 길고 (2000자가 넘는 어딘가)라면 새 이메일 만 엽니다는 것입니다. URL의 최대 길이가 초과되는 것과 관련이 있다고 생각합니다.

다른 팁

다음은 jQuery와 "요소"를 사용하여 다음을 수행하는 방법입니다.

$('#element').click(function(){
    $(location).attr('href', 'mailto:?subject='
                             + encodeURIComponent("This is my subject")
                             + "&body=" 
                             + encodeURIComponent("This is my body")
    );
});

그런 다음 입력 필드에서 먹이를 공급하여 내용을 얻을 수 있습니다 (예 : 사용 $('#input1').val() 또는 서버 측 스크립트로 $.get('...'). 재미있어

당신이 필요하지 않 javascript,당신은 당신의 href 코딩 할 다음과 같다:

<a href="mailto:me@me.com">email me here!</a>

TextBox에서 실시간 검증을받는 것은 어떻습니까? 일단 2000 이상 (또는 최대 임계 값이 무엇이든)가 진행되면 '이 이메일이 너무 길어서 브라우저에서 완료되지 않습니다. <span class="launchEmailClientLink">launch what you have in your email client</span>'

내가 가진 것

.launchEmailClientLink {
cursor: pointer;
color: #00F;
}

그리고 jQuery 이것을 당신의 ondom -Ready에 넣습니다

$('.launchEmailClientLink').bind('click',sendMail);

이 무료 서비스를 사용할 수 있습니다. https://www.smtpjs.com

  1. 스크립트 포함 :

<script src="https://smtpjs.com/v2/smtp.js"> </script>

  1. 다음을 사용하여 이메일을 보내십시오.

    Email.send("from@you.com", "to@them.com", "This is a subject", "this is the body", "smtp.yourisp.com", "username", "password");

이것이 사용자의 클라이언트를 열어 이메일을 보내려면 이메일을 보내주지 않겠습니까? 당신은 그들이 보내는 것을 추적 할 수있는 능력을 잃어 버리지만, 그것이 중요하지 않은 경우, 주소를 수집하고 주제를 수집하고 고객이 신체를 채울 수 있도록 고객을 팝업하십시오.

바로 아이디어의 문제점은 사용자에게 이메일 클라이언트가 있어야한다는 것입니다. 이는 웹 메일에 의존하는 경우에는 그렇지 않습니다. (적어도 12 년 전 문제를 조사했을 때이 웹 메일로 리디렉션 할 수는 없었습니다).

그렇기 때문에 일반적인 솔루션은 이메일을 보내기 위해 PHP Mail ()에 의존하는 이유입니다 (서버 측).

그러나 오늘날 "이메일 클라이언트"가 항상 웹 메일 클라이언트에 자동으로 설정되면 기꺼이 알게 될 것입니다.

요청을 보내십시오 mandrillapp.com:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        console.log(xhttp.responseText);
    }
}
xhttp.open('GET', 'https://mandrillapp.com/api/1.0/messages/send.json?message[from_email]=mail@7995.by&message[to][0][email]=zdanevich.vitaly@yaa.ru&message[subject]=Заявка%20с%207995.by&message[html]=xxxxxx&key=oxddROOvCpKCp6InvVDqiGw', true);
xhttp.send();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top