mail() 함수를 통해 메일발송이 안될때의 해결방법 > 기술자료

본문 바로가기

사이트 내 전체검색

mail() 함수를 통해 메일발송이 안될때의 해결방법 > 기술자료

PHP mail() 함수를 통해 메일발송이 안될때의 해결방법

페이지 정보


본문

웹메일에서 보낸메일은 잘 가는데 PHP mail() 함수를 통해 발송시 문제가 된다면 발송프로그램이나 발송옵션에 따른 문제일 확률이 높습니다.
 

발송후 아래처럼 발송로그를 확인해보시면 '보낸사람주소'가 엉뚱하게 붙어나갈 것 입니다.
     Nmail PHP) tail -n30 /var/MailRoot/logs/smail-200609060000
     sendmail) tail -n30 /var/log/maillog

예를 들어 'xxxx@xxxxx.com' 처럼 붙어나간다면 대형포털이나 스팸차단솔루션을 사용중인 메일서버에서 발송서버의 IP와 도메인(localhost.localdomain)이 일치하지 않아 차단될 가능성이 높습니다.
이 문제가 아니더라도 '보낸사람주소(회신주소)'가 제대로 지정되지 않을 경우 문제가 발생하는 원인에 대한 정확한 에러메세지를 메일로 받아볼 수 없는 문제가 있습니다.


따라서 아래 2가지 중 한가지 방법을 선택해서 해결하시면 됩니다.

1. 보낸주소가 지정되지 않았을 때 기본 도메인을 지정하는 방법(권장)
     : ‘보낸사람주소(회신주소)’가  xxxx@xxxxx.com 나 xxxx@xxxxx.com 처럼 올바른 도메인으로 사용됩니다.
     Nmail PHP 사용시)
          # vi /var/MailRoot/bin/sendmail.sh   2줄 아래 내용 추가
          export DEFAULT_DOMAIN=domain.com

     sendmail 사용시)
          서버의 hostname 을 올바른 도메인으로 변경하면 됩니다.     
 
2. ‘보낸사람주소(회신주소)’를 PHP소스나 php.ini 에서 강제 지정하는 방법
     예제 소스)
          $header = "Return-Path: <{$from_mail}>\n";
          $header .= "From: $from_name <{$from_mail}>\n";
          mail($to_mail, $subject, $body, $header);
 
     A) 메일발송 소스를 수정하는 방법.
          $header = "Return-Path: <{$from_mail}>\n";
          $header .= "From: {$from_name} <{$from_mail}>\n";
          $header .= "Content-Type: text/html; charset=euc-kr\n";
          mail($to_mail, $subject, $body, $header);
          =>
          mail($to_mail, $subject, $body, $header, '-f'.$from_mail);
 
     B) php.ini 를 수정하는 방법.(Linux)
          ; PHP mail() 함수에서 발송하는 메일에는 모두 적용됨. 수정후 아파치 재시작해야함.
          ;sendmail_path =
          =>
          sendmail_path = "/usr/sbin/sendmail -t -i xxxx@xxxxx.com"
 
     C) php.ini 를 수정하는 방법.(Windows)
          ; 모든 메일발송자가 고정적으로 지정됨. 수정후 아파치 재시작해야함.
          ;sendmail_from = xxxx@xxxxx.com
          =>
          sendmail_from = xxxx@xxxxx.com


참고사이트
http://www.passkorea.net/Board/ViewDoc.aspx?brdNo=11&docNo=28977
http://www.saybox.co.kr/bbs/board.php?bo_table=board02&wr_id=129
http://sung.world.co.kr/?document_srl=631

댓글목록

등록된 댓글이 없습니다.


Total 196건 8 페이지
  • RSS
기술자료 목록
56
PHP   16422  2009-04-17 19:59 ~ 2010-03-21 00:00  
55
PHP   27370  2009-01-31 10:50  
54
PHP   19986  2009-01-16 20:00  
53
PHP   18100  2009-01-05 20:07  
52
PHP   17613  2008-12-31 05:34 ~ 2022-11-30 12:11  
51
PHP   16386  2008-12-17 21:15  
50
PHP   16080  2008-12-17 21:02 ~ 2018-10-09 09:21  
49
PHP   25570  2008-10-29 10:33 ~ 2013-04-06 00:00  
48
PHP   17582  2008-08-27 17:46  
47
PHP   13311  2008-08-12 12:13  
46
PHP   14827  2008-06-21 18:14  
45
PHP   16465  2008-04-26 16:50 ~ 2021-07-06 21:53  
44
PHP   23113  2008-04-26 15:59 ~ 2013-01-14 00:00  
43
PHP   15951  2008-04-26 15:05 ~ 2009-09-16 00:00  
42
PHP   15941  2008-04-21 23:09  
41
PHP   17914  2008-04-21 12:02 ~ 2021-08-17 23:30  
40
PHP   13708  2008-01-22 17:03  
39
PHP   24594  2008-01-10 01:01 ~ 2008-02-10 00:00  
38
PHP   15631  2008-01-07 22:40  
37
PHP   17381  2008-01-04 00:15 ~ 2022-11-18 10:28  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2026 해피정닷컴. All Rights Reserved.