윈도우서버 그누 메일 헤더
윈 2003 iis에 메일캐리어라는 메일 서버를 돌리고 있습니다.
mail함수 잘 되는 것 확인 했습니다.
그누 sendmail_test.php에서 메일 보내기를 확인하고 있습니다.
mailer.lib.php 확인하니, 그누에 mailer라는 함수를 만들고 그안에
mail함수를 사용합니다.
SMTP 서버에는 붙는데 보내기가 전혀 안되서, 메일 함수 앞에
'@'를 빼고 테스트를 하니 에러가 나네요.
Warning: mail() [function.mail]: SMTP server response: 550 Invalid to Address in E:\~~~\gnu4\lib\mailer.lib.php on line 60
메일 함수 사용에서 에러가 난 부분이며, 헤더는
header : Return-Path: <webmaster@~~~~.com>
From: =?EUC-KR?B?uN7Az7DLu+c=?= <webmaster@~~~~.com>
Reply-To: <webmaster@~~~~.com>
MIME-Version: 1.0
X-Mailer: SIR Mailer 0.91 (sir.co.kr) : : 222.120.203.190 : http://www.~~~~.com/gnu4 : /gnu4/adm/sendmail_test.php : http://www.~~~~.com/gnu4/adm/sendmail_test.php?mail=admin@~~~~.com
Content-Type: TEXT/HTML; charset=EUC-KR
Content-Transfer-Encoding: BASE64
PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTo5cHQ7Jz5buN7Az7DLu+ddILO7v+s8cD7AzCCzu7/rwMwg
waa067fOILq4wM602bjpILq4s7u0wiC43sDPILytufa/obTCIMDMu/PAzCC++LTCsM3A1LTPtNku
PHA+MjAwNi0wMS0wOCAxNTowMDowOTxwPsDMILjewM8gwda80rfOtMIgyLi9xbXHwfYgvsq9wLTP
tNkuPC9zcGFuPg==
뭐가 잘못 된건가요?
mail함수 잘 되는 것 확인 했습니다.
그누 sendmail_test.php에서 메일 보내기를 확인하고 있습니다.
mailer.lib.php 확인하니, 그누에 mailer라는 함수를 만들고 그안에
mail함수를 사용합니다.
SMTP 서버에는 붙는데 보내기가 전혀 안되서, 메일 함수 앞에
'@'를 빼고 테스트를 하니 에러가 나네요.
Warning: mail() [function.mail]: SMTP server response: 550 Invalid to Address in E:\~~~\gnu4\lib\mailer.lib.php on line 60
메일 함수 사용에서 에러가 난 부분이며, 헤더는
header : Return-Path: <webmaster@~~~~.com>
From: =?EUC-KR?B?uN7Az7DLu+c=?= <webmaster@~~~~.com>
Reply-To: <webmaster@~~~~.com>
MIME-Version: 1.0
X-Mailer: SIR Mailer 0.91 (sir.co.kr) : : 222.120.203.190 : http://www.~~~~.com/gnu4 : /gnu4/adm/sendmail_test.php : http://www.~~~~.com/gnu4/adm/sendmail_test.php?mail=admin@~~~~.com
Content-Type: TEXT/HTML; charset=EUC-KR
Content-Transfer-Encoding: BASE64
PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZTo5cHQ7Jz5buN7Az7DLu+ddILO7v+s8cD7AzCCzu7/rwMwg
waa067fOILq4wM602bjpILq4s7u0wiC43sDPILytufa/obTCIMDMu/PAzCC++LTCsM3A1LTPtNku
PHA+MjAwNi0wMS0wOCAxNTowMDowOTxwPsDMILjewM8gwda80rfOtMIgyLi9xbXHwfYgvsq9wLTP
tNkuPC9zcGFuPg==
뭐가 잘못 된건가요?
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 1개
초보인 관계로 3일간 헤맸습니다.
여기 질문과 답변에도 여러번 올렸었는데, 안되시는 분들 참고를...
사양은 윈2003 IIS6.0 ASP,PHP를 같이 돌리는 상황이며, 메일서버는 상용 메일캐리어(무료체험판)
입니다.
PHP.ini 설정------------------------------------------
[mail function]
; For Win32 only.
;SMTP = localhost
SMTP = 222.122.xxx.xxx
smtp_port = 25
~~~~~~~~~~~~~~~~~~~~~
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 1
----------------------------------------------------------
SMTP와 포트를 설정합니다.
SMTP는 아이피, 혹은 도메인주소(단독일 경우), localhost 가능합니다.
Port는 25(당연히 다른 서비스가 포트를 점유하고 있으면 안됩니다.)
mail함수를 overload 설정
mailer.lib.php ------------------------------------------
$header = "Return-Path:$fname<$fmail>\n";
$header .= "From:$fname<$fmail>\n";
$header .= "Reply-To:<$fmail>\n";
if ($cc) $header .= "Cc:$cc\n";
if ($bcc) $header .= "Bcc:$bcc\n";
----------------------------------------------------------
그누보드의 메일 라이브러리에서 메일 헤더의 주소 관련 부분에 모든 공백을 없앰.
$header = "Return-Path:_$fname_<$fmail>\n";에서는 실제 2곳의 공백이 있으며,
이 부분을 수정 안할 경우 주소가 잘못되었다는 에러를 냅니다.(시스템마다 틀릴수 있습니다.)
이렇게 수정하니 테스트와 인증메일 모두 잘 됩니다.