더 나은 프로그래머가 되자

소켓 인증을 통한 구글 메일 발송 본문

언어/PHP

소켓 인증을 통한 구글 메일 발송

greathuman 2013. 1. 31. 10:20

php 소켓을 통해 SMTP를 이용해서 구글 메일을 발송하는 소스입니다.

<?

function sendmail($fromname, $frommail, $tomail, $subject, $type, $body) {

$smtp_id = base64_encode(ID@gmail);
$smtp_pwd = base64_encode("PASSWORD");
$smtp_server = "ssl://smtp.gmail.com"; //ssl 프로토콜을 이용해야 한다.

if (!$fp = fsockopen("$smtp_server", 465)) { // 소켓 생성, 구글은 특이하게 25번이 아닌 465번 port를 사용한다.
die ("Connection fail \n");
}

//Mail 형식을 소켓을 통해 전송시킨다.
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: <$from>\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, "Subject: $subject\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);
}

// 아래부터는 변수 설정 입니다. DB에서 불러와서 보내거나 각자의 필요에 맞게 작성 하시면 됩니다.

$fromname="보내는 이 이름";
$frommail ="보내는 메일 주소";
$tomail="받는 메일 주소";
$subject = "제목";
$type = "text/html"; // 메일 타입, HTML로
$body = "내용 (태그작성가능)";
sendmail($fromname, $frommail, $tomail, $subject, $type, $body); //전송함수 호출
?>

출처 : http://www.cyworld.com/comdoly_life/4141104

'언어 > PHP' 카테고리의 다른 글

문자열 찾기  (0) 2014.05.23
RSS 피드 만들기  (0) 2014.03.14
숫자 앞에 0 붙이기 sprintf  (0) 2012.10.25
변수명을 변수 값으로 사용하기  (0) 2012.10.24
php 메일 보내기  (0) 2011.10.02
Comments