웹서비스와 메일서비스를 별도로 운영할 때 SMTP 방식으로 메일서버에 접속하여 메일을 발송할때 사용법.
case 1 :
<?
function SMTP_Mail($fromname, $frommail, $toname, $tomail, $subject, $body, $type="text/html"){
$smtp_id = base64_encode("인증아이디");
$smtp_pwd = base64_encode("인증비밀번호");
$smtp_server = "메일서버";
if (!$fp = fsockopen("$smtp_server", 25)) {
die ("메일서버 접속이 어렵습니다. \n");
}
fgets($fp, 128);
fputs($fp, "helo $smtp_server\r\n");
fgets($fp, 128);
fputs($fp, "auth login\r\n");
fgets($fp,128);
fputs($fp, "$smtp_id\r\n");
fgets($fp,128);
fputs($fp, "$smtp_pwd\r\n");
fgets($fp,128);
fputs($fp, "mail from: <$frommail>\r\n");
fgets($fp, 128);
fputs($fp, "rcpt to: <$tomail>\r\n");
fgets($fp, 128);
fputs($fp, "data\r\n");
fgets($fp, 128);
fputs($fp, "Return-Path: $frommail\r\n");
fputs($fp, "From: $fromname <$frommail>\r\n");
fputs($fp, "To: $toname <$tomail>\r\n");
fputs($fp, "Subject: $subject\r\n");
fputs($fp, "Content-Type: $type charset=euc-kr\r\n");
fputs($fp, "Content-Transfer-Encoding: base64\r\n");
fputs($fp, "MIME-Version: 1.0\n");
fputs($fp, "\r\n");
$body= chunk_split(base64_encode($body));
fputs($fp, $body);
fputs($fp, "\r\n.\r\n");
fgets($fp, 128);
fclose($fp);
}
?>
case 2 :
<?
function SMTP_Mail($fromname, $frommail, $toname, $tomail, $subject, $body, $type$type="text/html") {
$smtp_id = base64_encode("인증아이디");
$smtp_pwd = base64_encode("인증비밀번호");
$smtp_server = "메일서버";
if (!$fp = fsockopen("$smtp_server", 25)) {
die ("메일서버 접속이 어렵습니다. \n");
}
fgets($fp, 128);
fputs($fp, "helo $smtp_server\r\n");
$returnvalue[] = fgets($fp, 128);
fputs($fp, "auth login\r\n");
$returnvalue[] = fgets($fp,128);
fputs($fp, "$smtp_id\r\n");
$returnvalue[] = fgets($fp,128);
fputs($fp, "$smtp_pwd\r\n");
$returnvalue[] = fgets($fp,128);
fputs($fp, "mail from: <$frommail>\r\n");
$returnvalue[] = fgets($fp, 128);
fputs($fp, "rcpt to: <$tomail>\r\n");
$returnvalue[] = fgets($fp, 128);
fputs($fp, "data\r\n");
$returnvalue[] = fgets($fp, 128);
fputs($fp, "Return-Path: $frommail\r\n");
fputs($fp, "From: $fromname <$frommail>\r\n");
fputs($fp, "To: $toname <$tomail>\r\n");
fputs($fp, "Subject: $subject\r\n");
fputs($fp, "Content-Type: $type charset=utf8\r\n");
fputs($fp, "Content-Transfer-Encoding: base64\r\n");
fputs($fp, "MIME-Version: 1.0\n");
fputs($fp, "\r\n");
$body= chunk_split(base64_encode($body));
fputs($fp, $body);
fputs($fp, "\r\n.\r\n");
$returnvalue[] = fgets($fp, 128);
fclose($fp);
}
?>
사용법
<?
$fromname = "받는사람";
$frommail = "<a href="mailto:받는사람주소">받는 사람주소</a>";
$subject = "메일제목";
$body = "메일내용";
$toname = "보내는사람";
$tomail = "<a href="mailto:보내는 사람주소">보내는 사람주소</a>";
SMTP_Mail($fromname, $frommail, $toname, $tomail, $subject, $body);
?>