웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
윈도우즈에서 운영시 메일 발송 문제 해결 팁
2008.10.30 22:06
안녕하세요. Windows 2003에서 zbxe를 사용하기 시작한지 얼마 안되는 사용자입니다.
버그 신고에도 어떤 분이 윈도우즈 서버에서 메일발송에 관련된 문제를 Report해 주신 것을 보았는데, 저도 똑같은 경험이 있습니다.
확인을 해보니 윈도우즈 가상 SMTP의 경우 mail 함수의 첫번째 인자를 "아무개 <nobody@his.com>"의 형태로 입력하면 잘못된 메일주소라고 하여 메일이 발송되지 않더군요.
따라서 mail() 함수의 첫번째 인자를 nobody@his.com의 형태로 만들어주어야 하는데, 이 경우 수신자의 이름을 "아무개"라고 표시해주기 위해서는 헤더 부분에 "To: 아무개 <nobody@his.com>"의 형태로 넣어주면 되는군요.
단, 가상 SMTP 서버에서 PHP가 돌아가는 서버에 대해 릴레이가 가능하도록 설정되어 있어야 합니다. 리눅스나 유닉스의 경우 직접 sendmail 라이브러리를 이용해 메일을 발송하는 반면 윈도우즈에서는 PHP에서 SMTP 서버로 릴레이 하는 방식을 사용하기 때문인 것같습니다.
저는 단일서버에 가상 SMTP와 Apache를 운영하기 때문에 가상 SMTP 서버에서는 127.0.0.1에 대한 릴레이를 허용하고,
다음과 같이 /classes/mail/Mail.class.php 파일의 send() 함수 중 두 곳을 수정하여 메일발송기능 사용하고 있습니다.
현재 수정하여 사용하고 있는 send() 함수 부분은 다음과 같습니다.
1. 헤더 설정부분
2. 메일 발송 부분
저 같이 Windows에서 사용하시는 분들에게 도움이 되셨으면 하구요. 며칠 뒤에 나올 1.0.7에 반영이 되었으면 합니다.
버그 신고에도 어떤 분이 윈도우즈 서버에서 메일발송에 관련된 문제를 Report해 주신 것을 보았는데, 저도 똑같은 경험이 있습니다.
확인을 해보니 윈도우즈 가상 SMTP의 경우 mail 함수의 첫번째 인자를 "아무개 <nobody@his.com>"의 형태로 입력하면 잘못된 메일주소라고 하여 메일이 발송되지 않더군요.
따라서 mail() 함수의 첫번째 인자를 nobody@his.com의 형태로 만들어주어야 하는데, 이 경우 수신자의 이름을 "아무개"라고 표시해주기 위해서는 헤더 부분에 "To: 아무개 <nobody@his.com>"의 형태로 넣어주면 되는군요.
단, 가상 SMTP 서버에서 PHP가 돌아가는 서버에 대해 릴레이가 가능하도록 설정되어 있어야 합니다. 리눅스나 유닉스의 경우 직접 sendmail 라이브러리를 이용해 메일을 발송하는 반면 윈도우즈에서는 PHP에서 SMTP 서버로 릴레이 하는 방식을 사용하기 때문인 것같습니다.
저는 단일서버에 가상 SMTP와 Apache를 운영하기 때문에 가상 SMTP 서버에서는 127.0.0.1에 대한 릴레이를 허용하고,
다음과 같이 /classes/mail/Mail.class.php 파일의 send() 함수 중 두 곳을 수정하여 메일발송기능 사용하고 있습니다.
현재 수정하여 사용하고 있는 send() 함수 부분은 다음과 같습니다.
1. 헤더 설정부분
$headers = sprintf( "From: %s".$eol. "To: %s".$eol. // <= 추가한 부분 "MIME-Version: 1.0".$eol. "Content-Type: multipart/alternative;".$eol."tboundary="%s"".$eol.$eol. "", $this->getSender(), $this->getReceiptor(), // <= 추가한 부분 $boundary );
2. 메일 발송 부분
// return mail($this->getReceiptor(), $this->getTitle(), $body, $headers);
^= 기존코드 return mail($this->receiptor_email, $this->getTitle(), $body, $headers);
^= 수정한 부분 : mail() 함수의 첫번째 인자
저 같이 Windows에서 사용하시는 분들에게 도움이 되셨으면 하구요. 며칠 뒤에 나올 1.0.7에 반영이 되었으면 합니다.
댓글 4
제목 | 글쓴이 | 날짜 |
---|---|---|
글쓰기를 클릭하면 띄워지는 테두리 없는 예쁜 팝업 띄우기 core. 1.7.4
[4]
![]() | 마음의빈자리 | 2014.02.11 |
2014년 2월 12일부터 갑자기 사이트(관리자 페이지)가 깨지는 경우. | 새하나모 | 2014.02.12 |
이메일인증 Error 한방정리 참고해보세요. [4] | 애드바이러스 | 2014.02.12 |
css 배경이미지 정리 | devdevpia | 2014.02.13 |
GNB 메뉴를 쉽게 만드는 jQuery plugin [2] | 김개발 | 2014.02.14 |
css 가운데정렬 완벽정리! | 돼지코구뇽 | 2014.02.14 |
"이 페이지 나가기" 경고창이 뜨는 사이트의 경우 [23] | 투씨 | 2014.02.15 |
카카오스토리 링크
[14]
![]() | 맞장 | 2014.02.15 |
우분투 12.04 LTS Nginx 최신버전 설치하기
[1]
![]() | 도라미 | 2014.02.17 |
1.7.4 용 youtube, vimeo, ted 썸네일 적용 document.item.php 수정방법
[9]
![]() | 남자인간 | 2014.02.17 |
1.7.4 버전용 한글 lang.xml 파일
[5]
![]() | 투씨 | 2014.02.18 |
IEXPLORER 버젼 호환성 강제 맞추기 | davidis | 2014.02.18 |
누리고 쇼핑몰 모바일버전에서 백지화현상 수정하는 팁 [5] | garnecia | 2014.02.19 |
XE 1.7.4 "이메일 주소로 계정 찾기" 오류 해결 방법 | 꿈돌리 | 2014.02.20 |
위젯 게시판 선택시 다중선택하기 !
[2]
![]() | GomSang | 2014.02.21 |
게시판 목록에서 새창 띄워서 다른 형태 나오게 하기 [3] | foret | 2014.02.23 |
게시판 목록의 new 아이콘 바꾸기 [1] | foret | 2014.02.23 |
스케치북5 모바일 댓글 작성시 엔터를 쳤을 때 <br /> 코드 뜨는 문제 해결 [7] | oryan | 2014.02.23 |
코어 수정 없이 스킨 수정만으로 게시판 목록에 유튜브,비메오 썸네일 출력 [2] | foret | 2014.02.23 |
부트스트랩 레이아웃 제작시 메뉴 코딩팁 | 웹빌드 | 2014.02.23 |