Daniel's Knowledge Storage
외부 smtp사용해서 메일 발송 본문
php 에는 mail이라는 함수가 있는데 window에서만 php.ini 안에서 smtp서버를 설정할수가 있다.
따라는 os가 window가 아닐 경우는 아래 함수를 직접 만들어서 이용한다. 포퍼먼스는 얼마나 좋은진 모르나... 다른 smtp 서버를 꼭 이용하여야 할 경우에는 유용하게 쓸 수 있다.
DATA 전까지는 꼭 fgets 을 해야한다.
<?
function sendmail($smtp_server, $smtp_user, $name, $from, $to, $subject, $message, $html_yn, $charset ) {
if (!$smtp_sock = fsockopen("$smtp_server", 25)) {
die ("Couldn't open mail connection to $smtp_server! \n");
}
fputs($smtp_sock, "HELO $smtp_server\n");
fgets($smtp_sock,1024);
//fputs($smtp_sock, "VRFY $stmp_user\n");
fputs($smtp_sock, "MAIL FROM:$from\n");
fgets($smtp_sock,1024);
fputs($smtp_sock, "RCPT TO:$to\n");
fgets($smtp_sock,1024);
fputs($smtp_sock, "DATA\n");
fputs($smtp_sock, "From: $name<$from>\n");
fputs($smtp_sock, "X-Mailer: php\n");
if ($html_yn) fputs($smtp_sock, "Content-Type: text/html;");
else fputs($smtp_sock, "Content-Type: text/plain;");
fputs($smtp_sock, "charset: $charset\n");
fputs($smtp_sock, "MIME-Version: 1.0\n");
fputs($smtp_sock, "Subject: $subject\n");
fputs($smtp_sock, "To: $to\n");
fputs($smtp_sock, "$message");
fputs($smtp_sock, "\n.\nQUIT\n");
fclose($smtp_sock);
}
// SMTP SERVER IP
$smtp_server = "xxx.xxx.xxx.xxx";
// SMTP SERVER USER
$smtp_user = "xxx";
// 보내는 사람 이름
$name = "류성훈";
// 보내는 사람 주소
$from = "xxx@xxx.xxx";
// 받는 사람 주소
$to = "yyy@yyy.yyy";
// 메일 제목
$subject = "제목";
// 메일 내용
$message = "메세지";
// 메일 형식
$html_yn = false;
// 캐릭터셋
$charset = "UTF-8";
sendmail($smtp_server, $smtp_user, $name, $from, $to, $subject, $message, $html_yn, $charset);
?>
[출처] [본문스크랩] [PHP] 다른 SMTP 서버 이용하여 메일 보내기|작성자 정연아빠
'Develop > PHP' 카테고리의 다른 글
PHP 모듈 표준 프로그래밍 가이드 +폴더 구성 + 코딩 스타일 가이드 (0) | 2009.08.31 |
---|---|
php excel(엑셀) 헤더 선언 (0) | 2009.08.31 |
로그인 세션처리 (0) | 2009.08.31 |
인기검색어 퀄리 방법 (0) | 2009.08.30 |
mysql like 띄워쓰기 무시 (0) | 2009.08.28 |