2013-05-01 2 views
-2

페이지가로드 될 때마다 전자 메일을 보내야합니다 (자동으로). 코드 아래에 시도 :페이지가로드 될 때 자동으로 이메일 보내기

<html> 
<head> 
<script language="javascript" type="text/javascript"> 

var email = "[email protected]" 
var subject = "test" 
var body = "Hello world" 

document.write("<form name="form" action=\"mailto:"+ email +"\?subject="+ subject +"\&body="+ body +"\" method=\"post\" enctype=\"text/plain\"></form>") 
</script> 
</head> 
<body onload="document.form.submit()"> 
</body> 
</html> 

나에게 효과가 없습니다! 내가 도대체 ​​뭘 잘못하고있는 겁니까? tnx

+0

JavaScript로 메일을 보낼 수 없습니다. 서버 쪽은 사용자가 전자 메일의 내용을 볼 수 없기 때문에 (받는 사람이 아닌 경우) 더 좋습니다. http://www.w3schools.com/php/php_mail.asp를 참조하십시오. – Mattios550

답변

2

JS가 수행하는 대신 서버에 PHP mail처럼 처리하도록 제안하십시오. 페이지로드시 서버에 요청을 보내 서버가 대상에게 전자 메일을 보내도록 지시 할 수 있습니다. 이렇게하면 :

  • 페이지에 어수선하고 소름 끼치는 스크립트가 없습니다.
  • 그들은 이메일이 실제로 전송 된 것을 결코 알지 못할 것입니다.
  • "Fire and forget" 서버에 요청을 보내면 끝났습니다! 서버가 나머지 작업을 수행합니다.
  • 귀하의 이메일 주소는 서버에서만 작성되며 서버 측에 숨겨져 있으며 전자 수확기와 그 이후의 스팸을 피할 수 있습니다.

트리거하는 요청은 1x1 gif, 스크립트, AJAX 등을로드하는 것과 같을 수 있습니다.

2

같은 양식, 특히 게시 양식을 통해 동일한 작업을 수행 할 수 있다고 생각하지 않습니다. 두 경우 모두 사용자가 이메일을 보내야하므로 침묵하지 않습니다. mailto : 단순히 사용자에게 자신의 클라이언트를 사용하여 전자 메일을 보내는 방법을 제시합니다.

HTML 문서에서 전자 메일을 빨리 보내려면 앵커 내에서 mailto :를 사용하고 사용자가이를 클릭하거나 강제로 클릭 할 때까지 기다리십시오.

<a href="mailto:[email protected]">My link</a> 

PHP 또는 기타 서버 측 언어를 사용할 수 있다면 훨씬 쉽고 "조용하게"될 것입니다. PHP의 mail() 기능을 확인하십시오.이 기능을 사용하면 누구든지 누구에게 이메일을 보낼 수 있습니다.

0

편집 : 양식 코드를 보면 실제로 이메일을 보내지 않을 것입니다. 그러나 이것이 자바 스크립트를 사용하여 양식을 제출하는 방법입니다. 자동으로 이메일을 보내려면 일부 백엔드 서비스에 게시해야합니다. 로드 핸들러에 최선을 다하는

시도 :

<html> 
<head> 
<script language="javascript" type="text/javascript"> 

function sendEmail(){ 
    var email = "[email protected]" 
    var subject = "test" 
    var body = "Hello world" 

    document.write("<form name="form" action=\"mailto:"+ email +"\?subject="+ subject +"\&body="+ body +"\" method=\"post\" enctype=\"text/plain\"></form>"); 
    document.form.submit(); 
} 
</script> 
</head> 
<body onload="sendEmail()"> 
</body> 
</html> 
1

당신은이 목적을 위해 아약스를 사용해야합니다. 예를 들어 당신이 JQuery와 아약스,이 같은 것을 사용할 수 있습니다 : 그것을

0

체크 아웃을 보낼 수

$(document).load('ajax/[email protected]&subject=test&body=hi') 

다음 PHP 페이지를 사용 메일() 함수를이 :

http://jsfiddle.net/4gGFR/

및 양식 게시를 호출하는 대신 <body onload="sendemail();">

관련 문제