웹마스터 팁

자신의 사이트에서 메일을 받길 원할때 <a href="mailto:u2em@foo.com">메일 보내주세요 :)</a> 따위로 적는다면 html을 뒤집어 전자우편 주소만을 골라내 광고질을 하는 봇들이 u2em@foo.com으로 수백여통의 메일을 배출할 것입니다. 어떤 개새기(만새기 돌연변이 개새기)들은 수집한 주소를 광고업자에게 팔아넘기기도 합니다. (몇명 구속되었었죠 아마)

그래서 u2em골뱅이foo.com, u2em_foo.com과 같은식으로 인코딩(?)을 하게 되는데 메일 보낼 사람들은 꽤 불편해 할수가 있습니다. u2em@foo.com 따위로 메일주소를 고쳐야 하기 때문이죠.

예제: http://u2em.dnip.net/mail.php?address=u2em^foo.com 를 클릭하면 u2em@foo.com으로 메일을 보낼수 있습니다.
단 메일 클라이언트가 설치되어 있어야 합니다.

코드
<?php
//PHP가 4.1.0부터 이 코드가 적용된다. 그 이하 버젼에서는 작동하지 않을것이다

$address = $_GET['address']; //mail.php?address=u2em^foo.com 과 같은 방식으로 메일주소를 받는다.

//strtr함수는 http://obst.new21.net/func_index.html?fname=strtr&func_mode=nfunc&fgroup=String%20functions를
//참고한다. php 공식사이트 매뉴얼은 직역이라 번역본을 보는것보다 영문원본을 보는것이 이해하기 쉽다
$address2 = strtr($address,"^","@"); //^를 @로 바꾼다. ^는 다른 문자로 바꿀 수 있다. 확인결과 &, #, $는 사용 불가

header("Location: mailto:$address2"); //메일주소를 포함하는 헤더를 쏜다.
?>