SMTP(인증) 소켓 메일 발송 소스코드
로빈아빠
본문
SMTP를 이용한 메일 발송 코드
<?php
$host = "localhost";
$port = 25;
$tomail = "받는 사람 메일주소";
$frommail ="보내는 사람 메일주소";
$webid="보내는 사람 이름 또는 ID";
$subject = "제목";
$type = "text/html";
$message = "내용";
$fp = fsockopen($host, $port, &$errno, &$errstr, 30);
if($fp) {
fgets($fp, 128);
fputs($fp, "helo $HTTP_HOST\r\n");
fgets($fp, 128);
fputs($fp, "mail from: <$frommail>\r\n");
$returnvalue[0] = fgets($fp, 128);
fputs($fp, "rcpt to: <$tomail>\r\n");
$returnvalue[1] = fgets($fp, 128);
fputs($fp, "data\r\n");
fgets($fp, 128);
fputs($fp, "Return-Path: $frommail\r\n");
fputs($fp, "From: "$webid" <$frommail>\r\n");
fputs($fp, "To: <$tomail>\r\n");
fputs($fp, "Subject: $subject\r\n");
fputs($fp, "Content-Type: ".$type."; charset=\"utf-8\"\r\n");
fputs($fp, "Content-Transfer-Encoding: base64\r\n");
fputs($fp, "\r\n");
$message= chunk_split(base64_encode($message));
fputs($fp, $message);
fputs($fp, "\r\n");
fputs($fp, "\r\n.\r\n");
$returnvalue[2] = fgets($fp, 128);
fclose($fp);
if (ereg("^250", $returnvalue[0])&&ereg("^250", $returnvalue[1])&&ereg("^250", $returnvalue[2])) {
$sendmail_flag = true;
}
}
if ($sendmail_flag) {
echo "메일 보내기 성공";
} else {
echo "메일 보내기 실패";
}
?>
SMTP 인증을 통한 메일 발송 소스코드
<?
$smtp_id = "smtp 아이디";
$smtp_pwd = "smtp 패스워드";
$host = "smtp.domain.com";
$port = 25;
$tomail = "받는 사람 메일주소";
$frommail ="보내는 사람 메일주소";
$webid="보내는 사람 이름 또는 ID";
$subject = "제목";
$type = "text/html";
$message = "내용";
$fp = fsockopen($host, $port, &$errno, &$errstr, 30);
if($fp) {
fgets($fp, 128);
fputs($fp, "helo $HTTP_HOST\r\n");
fgets($fp, 128);
fputs($fp, "auth login\r\n");
fgets($fp,128);
fputs($fp, base64_encode($smtp_id)."\r\n");
fgets($fp,128);
fputs($fp, base64_encode($smtp_pwd)."\r\n");
fgets($fp,128);
fputs($fp, "mail from: <$frommail>\r\n");
$returnvalue[0] = fgets($fp, 128);
fputs($fp, "rcpt to: <$tomail>\r\n");
$returnvalue[1] = fgets($fp, 128);
fputs($fp, "data\r\n");
fgets($fp, 128);
fputs($fp, "Return-Path: $frommail\r\n");
fputs($fp, "From: "$webid" <$frommail>\r\n");
fputs($fp, "To: <$tomail>\r\n");
fputs($fp, "Subject: $subject\r\n");
fputs($fp, "Content-Type: ".$type."; charset=\"utf-8\"\r\n");
fputs($fp, "Content-Transfer-Encoding: base64\r\n");
fputs($fp, "\r\n");
$message= chunk_split(base64_encode($message));
fputs($fp, $message);
fputs($fp, "\r\n");
fputs($fp, "\r\n.\r\n");
$returnvalue[2] = fgets($fp, 128);
fclose($fp);
if (ereg("^250", $returnvalue[0])&&ereg("^250", $returnvalue[1])&&ereg("^250", $returnvalue[2])) {
$sendmail_flag = true;
}
}
if ($sendmail_flag) {
echo "메일 보내기 성공";
} else {
echo "메일 보내기 실패";
}
?>
<?php
$host = "localhost";
$port = 25;
$tomail = "받는 사람 메일주소";
$frommail ="보내는 사람 메일주소";
$webid="보내는 사람 이름 또는 ID";
$subject = "제목";
$type = "text/html";
$message = "내용";
$fp = fsockopen($host, $port, &$errno, &$errstr, 30);
if($fp) {
fgets($fp, 128);
fputs($fp, "helo $HTTP_HOST\r\n");
fgets($fp, 128);
fputs($fp, "mail from: <$frommail>\r\n");
$returnvalue[0] = fgets($fp, 128);
fputs($fp, "rcpt to: <$tomail>\r\n");
$returnvalue[1] = fgets($fp, 128);
fputs($fp, "data\r\n");
fgets($fp, 128);
fputs($fp, "Return-Path: $frommail\r\n");
fputs($fp, "From: "$webid" <$frommail>\r\n");
fputs($fp, "To: <$tomail>\r\n");
fputs($fp, "Subject: $subject\r\n");
fputs($fp, "Content-Type: ".$type."; charset=\"utf-8\"\r\n");
fputs($fp, "Content-Transfer-Encoding: base64\r\n");
fputs($fp, "\r\n");
$message= chunk_split(base64_encode($message));
fputs($fp, $message);
fputs($fp, "\r\n");
fputs($fp, "\r\n.\r\n");
$returnvalue[2] = fgets($fp, 128);
fclose($fp);
if (ereg("^250", $returnvalue[0])&&ereg("^250", $returnvalue[1])&&ereg("^250", $returnvalue[2])) {
$sendmail_flag = true;
}
}
if ($sendmail_flag) {
echo "메일 보내기 성공";
} else {
echo "메일 보내기 실패";
}
?>
SMTP 인증을 통한 메일 발송 소스코드
<?
$smtp_id = "smtp 아이디";
$smtp_pwd = "smtp 패스워드";
$host = "smtp.domain.com";
$port = 25;
$tomail = "받는 사람 메일주소";
$frommail ="보내는 사람 메일주소";
$webid="보내는 사람 이름 또는 ID";
$subject = "제목";
$type = "text/html";
$message = "내용";
$fp = fsockopen($host, $port, &$errno, &$errstr, 30);
if($fp) {
fgets($fp, 128);
fputs($fp, "helo $HTTP_HOST\r\n");
fgets($fp, 128);
fputs($fp, "auth login\r\n");
fgets($fp,128);
fputs($fp, base64_encode($smtp_id)."\r\n");
fgets($fp,128);
fputs($fp, base64_encode($smtp_pwd)."\r\n");
fgets($fp,128);
fputs($fp, "mail from: <$frommail>\r\n");
$returnvalue[0] = fgets($fp, 128);
fputs($fp, "rcpt to: <$tomail>\r\n");
$returnvalue[1] = fgets($fp, 128);
fputs($fp, "data\r\n");
fgets($fp, 128);
fputs($fp, "Return-Path: $frommail\r\n");
fputs($fp, "From: "$webid" <$frommail>\r\n");
fputs($fp, "To: <$tomail>\r\n");
fputs($fp, "Subject: $subject\r\n");
fputs($fp, "Content-Type: ".$type."; charset=\"utf-8\"\r\n");
fputs($fp, "Content-Transfer-Encoding: base64\r\n");
fputs($fp, "\r\n");
$message= chunk_split(base64_encode($message));
fputs($fp, $message);
fputs($fp, "\r\n");
fputs($fp, "\r\n.\r\n");
$returnvalue[2] = fgets($fp, 128);
fclose($fp);
if (ereg("^250", $returnvalue[0])&&ereg("^250", $returnvalue[1])&&ereg("^250", $returnvalue[2])) {
$sendmail_flag = true;
}
}
if ($sendmail_flag) {
echo "메일 보내기 성공";
} else {
echo "메일 보내기 실패";
}
?>
태그(Tag) :
관련링크
댓글목록
등록된 댓글이 없습니다.