HTML에서는 mailto: 를 사용하여 쉽게 이메일을 보낼 수 있다. 현재는 WML에서는 그러한 방법이 없다. 따라서, 이메일은 WML 형식으로 바뀌어야 한다. 아래에 그러한 형식을 나타내었다.
<wml>
<card id="edit" title="Email Editor">
<p>From: <input type="text" name="from" format="*M"/></p>
<p>To: <input type="text" name="to" format="*M"/></p>
<p>Subject: <input type="text" name="subject" format="*M"/></p>
<p>Message body: <input type="text" name="body" format="*M"/></p>
<p>
<anchor>Send this mail
<go method="post" href=" <a href="http://some.host/mailhandler" target="_blank">http://some.host/mailhandler</a>"?action=send/">
<postfield name="from" value="$(from)"/>
<postfield name="to" value="$(to)"/>
<postfield name="subject" value="$(subject)"/>
<postfield name="body" value="$(body)"/>
</go>
</anchor>
</p>
</card>
</wml>
위 코드상에서 <a href="http://some.host/mailhandler" target="_blank">http://some.host/mailhandler</a> 에 대한 참조를 볼 수 있다. 이것은 메일 형식의 입력을 받아서 이메일 메시지 형식으로 변환하고 보내주는 버서 script 언어로 된 CGI 이다. 모든 종류의 script 언어에서 사용할 수 있는 그러한 script 들은 많다.
메일을 보내는 것과 비슷한 형식을 사용하고자 한다면, 변수의 이름을 편집해주어야 한다. 또한, WAP 단말기에서 서버로 보내는 데이터의 양에는 제한이 있다. 긴 메시지는 보내지지 않는다.
어떻게 동작하는지 예를 들기 위해서, 다음의 PHP script 를 사용할 수 있다. 메일이 보내졌는지 아닌지를 사용자에게 알려주는 WML deck을 만들어준다. 실제 어플리케이션에서는 이메일의 주소가 제대로 구성되었는지 등의 사항들에 대한 체크를 하여야 한다.
<?
header("Content-type: text/vnd.wap.wml"); // Tell the client that this is a WML deck
echo("<?xml version=\"1.0\"?>\n");
echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \" <a href="http://www.wapforum.org/DTD/wml_1.1.xml" target="_blank">http://www.wapforum.org/DTD/wml_1.1.xml</a>\">\n");
$mailer = "wap.colorline.no"; // The name of your mail server
$from = $from." (WAP user at ".$mailer.")"; // Format the from field
// Add the from field and some character handling to the extra headers
$extraheaders = $from."\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-ENCODING: 8bit";
echo("<wml>\n"); // Start sending out the WML deck
if(mail($to,$subject,$body,$extraheaders)) { // Use PHP's internal mail functionality
echo("<card id=\"sent\" title=\"Mail sent\">\n"); // Mail was successfully sent
echo("<p>Mail was sent successfully</p>\n");
echo("</card>\n");
}
else {
echo("<card id=\"notsent\" title=\"Mail failed\">\n"); // The mail could not be sent
echo("<p>Unable to send mail</p>\n");
echo("</card>\n");
}
echo("</wml>\n");
?>
위의 코드는 기본적으로 누구에게나 이메일을 보낼 수 있는 방법을 제공하고 있다.
<wml>
<card id="edit" title="Email Editor">
<p>From: <input type="text" name="from" format="*M"/></p>
<p>To: <input type="text" name="to" format="*M"/></p>
<p>Subject: <input type="text" name="subject" format="*M"/></p>
<p>Message body: <input type="text" name="body" format="*M"/></p>
<p>
<anchor>Send this mail
<go method="post" href=" <a href="http://some.host/mailhandler" target="_blank">http://some.host/mailhandler</a>"?action=send/">
<postfield name="from" value="$(from)"/>
<postfield name="to" value="$(to)"/>
<postfield name="subject" value="$(subject)"/>
<postfield name="body" value="$(body)"/>
</go>
</anchor>
</p>
</card>
</wml>
위 코드상에서 <a href="http://some.host/mailhandler" target="_blank">http://some.host/mailhandler</a> 에 대한 참조를 볼 수 있다. 이것은 메일 형식의 입력을 받아서 이메일 메시지 형식으로 변환하고 보내주는 버서 script 언어로 된 CGI 이다. 모든 종류의 script 언어에서 사용할 수 있는 그러한 script 들은 많다.
메일을 보내는 것과 비슷한 형식을 사용하고자 한다면, 변수의 이름을 편집해주어야 한다. 또한, WAP 단말기에서 서버로 보내는 데이터의 양에는 제한이 있다. 긴 메시지는 보내지지 않는다.
어떻게 동작하는지 예를 들기 위해서, 다음의 PHP script 를 사용할 수 있다. 메일이 보내졌는지 아닌지를 사용자에게 알려주는 WML deck을 만들어준다. 실제 어플리케이션에서는 이메일의 주소가 제대로 구성되었는지 등의 사항들에 대한 체크를 하여야 한다.
<?
header("Content-type: text/vnd.wap.wml"); // Tell the client that this is a WML deck
echo("<?xml version=\"1.0\"?>\n");
echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \" <a href="http://www.wapforum.org/DTD/wml_1.1.xml" target="_blank">http://www.wapforum.org/DTD/wml_1.1.xml</a>\">\n");
$mailer = "wap.colorline.no"; // The name of your mail server
$from = $from." (WAP user at ".$mailer.")"; // Format the from field
// Add the from field and some character handling to the extra headers
$extraheaders = $from."\nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-ENCODING: 8bit";
echo("<wml>\n"); // Start sending out the WML deck
if(mail($to,$subject,$body,$extraheaders)) { // Use PHP's internal mail functionality
echo("<card id=\"sent\" title=\"Mail sent\">\n"); // Mail was successfully sent
echo("<p>Mail was sent successfully</p>\n");
echo("</card>\n");
}
else {
echo("<card id=\"notsent\" title=\"Mail failed\">\n"); // The mail could not be sent
echo("<p>Unable to send mail</p>\n");
echo("</card>\n");
}
echo("</wml>\n");
?>
위의 코드는 기본적으로 누구에게나 이메일을 보낼 수 있는 방법을 제공하고 있다.
'[정보 창고] > IT 일반' 카테고리의 다른 글
WAP Gateway기능 (0) | 2008.06.17 |
---|---|
WAP 강의자료 (0) | 2008.06.17 |
WAP V.2.0 Review (0) | 2008.06.17 |
WAP PUSH Framework의 이해 (2) | 2008.06.17 |
GIS활용 범위 (0) | 2008.06.17 |