반응형
보안 서버로 ssl 적용 후 부터 php 메일 발송시 발송이 안되기 시작하였다.
원인을 확인 해보니 보안 smtp 로 발송해야 한다는 사실을 알게 되었다.
그래서, 이래저래 알아보니 메일 서버가 별도로 있는경우 보안 릴레이 방식으로 발송을 하면 된다는것을 알게되어 적용 하였다.
먼저, 메일서버의 릴레이 발송할 개정이 하나 있어야 한다.
다음 함수에 메일서버 ip 및 릴레이 개정 정보를 입력하시면 됩니다.
빨간색으로 표시한 부분만 설정에 맞게 고쳐서 이용하시면 됩니다.
원인을 확인 해보니 보안 smtp 로 발송해야 한다는 사실을 알게 되었다.
그래서, 이래저래 알아보니 메일 서버가 별도로 있는경우 보안 릴레이 방식으로 발송을 하면 된다는것을 알게되어 적용 하였다.
먼저, 메일서버의 릴레이 발송할 개정이 하나 있어야 한다.
다음 함수에 메일서버 ip 및 릴레이 개정 정보를 입력하시면 됩니다.
function sendmail($name, $from, $to, $subject, $body, $html, $charset ) {
$smtp_server = "아이피"; //stmp ip를 입력
$smtp_user = "아이디"; //smtp id 입력
$smtp_passwd = "비밀번호"; //smtp 비밀번호 입력
if(!$smtp_sock = fsockopen("$smtp_server", 25)) {
return false;
}
fputs($smtp_sock, "AUTH LOGIN\n");
fputs($smtp_sock, base64_encode($smtp_user)."\n");
fputs($smtp_sock, base64_encode($smtp_passwd)."\n");
fputs($smtp_sock, "HELO $smtp_server\n");
fputs($smtp_sock, "VRFY $stmp_user\n");
fputs($smtp_sock, "MAIL FROM:$from\n");
fputs($smtp_sock, "RCPT TO:$to\n");
fputs($smtp_sock, "DATA\n");
fputs($smtp_sock, "From: $name<$from>\n");
fputs($smtp_sock, "X-Mailer: miplus\n");
if($html) fputs($smtp_sock, "Content-Type: text/html;");
else fputs($smtp_sock, "Content-Type: text/plain;");
fputs($smtp_sock, "charset=$charser\n");
fputs($smtp_sock, "MIME-Version: 1.0\n");
fputs($smtp_sock, "Subject: $subject\n");
fputs($smtp_sock, "To: $to\n");
fputs($smtp_sock, "$body");
fputs($smtp_sock, "\n.\nQUIT\n");
fclose($smtp_sock);
return true;
}
$text = "<html><body>test</body></html>"; //html 방식으로 발송 가능
$subject = "메일제목";
$from = "custom@test.co.kr"; //발송자 이메일 주소
$from_name = "이름"; //발송자 이름
$to = member@test.co.kr" //수신자 이메일 주소
$html = 1; //HTML 테그 1:사용, 0:사용안함
$charset = "UTF-8"; //언어 EUC-KR, UTF-8
if(sendmail($from_name,$from,$to,$subject,$text,$html,$charset)) {
echo "발송완료";
} else {
echo "발송실패";
}
$smtp_server = "아이피"; //stmp ip를 입력
$smtp_user = "아이디"; //smtp id 입력
$smtp_passwd = "비밀번호"; //smtp 비밀번호 입력
if(!$smtp_sock = fsockopen("$smtp_server", 25)) {
return false;
}
fputs($smtp_sock, "AUTH LOGIN\n");
fputs($smtp_sock, base64_encode($smtp_user)."\n");
fputs($smtp_sock, base64_encode($smtp_passwd)."\n");
fputs($smtp_sock, "HELO $smtp_server\n");
fputs($smtp_sock, "VRFY $stmp_user\n");
fputs($smtp_sock, "MAIL FROM:$from\n");
fputs($smtp_sock, "RCPT TO:$to\n");
fputs($smtp_sock, "DATA\n");
fputs($smtp_sock, "From: $name<$from>\n");
fputs($smtp_sock, "X-Mailer: miplus\n");
if($html) fputs($smtp_sock, "Content-Type: text/html;");
else fputs($smtp_sock, "Content-Type: text/plain;");
fputs($smtp_sock, "charset=$charser\n");
fputs($smtp_sock, "MIME-Version: 1.0\n");
fputs($smtp_sock, "Subject: $subject\n");
fputs($smtp_sock, "To: $to\n");
fputs($smtp_sock, "$body");
fputs($smtp_sock, "\n.\nQUIT\n");
fclose($smtp_sock);
return true;
}
$text = "<html><body>test</body></html>"; //html 방식으로 발송 가능
$subject = "메일제목";
$from = "custom@test.co.kr"; //발송자 이메일 주소
$from_name = "이름"; //발송자 이름
$to = member@test.co.kr" //수신자 이메일 주소
$html = 1; //HTML 테그 1:사용, 0:사용안함
$charset = "UTF-8"; //언어 EUC-KR, UTF-8
if(sendmail($from_name,$from,$to,$subject,$text,$html,$charset)) {
echo "발송완료";
} else {
echo "발송실패";
}
빨간색으로 표시한 부분만 설정에 맞게 고쳐서 이용하시면 됩니다.
반응형
'웹프로그램' 카테고리의 다른 글
PHP 특정 폴더 내에 있는 파일들을 선택적으로 삭제 하고자 할 때 (0) | 2010.02.08 |
---|---|
자바스크립트 팝업 이미지 클릭시 <a 사용하지 않고 띄우기 (0) | 2009.11.27 |
favicon.ico 파비콘을 손쉽게 만들어 주는 사이트 (0) | 2009.11.04 |
text-overflow 이용한 텍스트 길이 제한하기 (0) | 2009.10.31 |
[style] 세이박스 메인 탑메뉴 처럼 메뉴 텍스트(text)에 그림자 효과 주기 (0) | 2009.10.21 |
자바스크립트 우클릭, 드래그, CTRL+C 막기 (0) | 2009.09.28 |
IE 8.0에서 iframe 스크롤 생기는 문제 body style로 스크롤바 없애기 (0) | 2009.09.25 |
[javascript] 지정된 영역만 자바스크립트로 출력 하기 (0) | 2009.08.31 |