[PHP] mail() 함수로 메일 전송 관련

 http://www.phpschool.com/bbs2/inc_view.html?id=46897&code=function2&start=0&mode=search&field=comment&operator=and&period=all&category_id=&s_que=hostname

 

 

제가 오늘 밤새 소켓으로 메일 보내는것도 써보구.. 별 짓거리 다 해보구..
여기 코멘트로 어떤 분이 쓰신 내용을 참고로 하여...
최대한 초보자의 눈높이에서 리눅스 서버 설정하는 법을 씁니다.
요점은 호스트 이름을 정확히 하면 한메일로 잘 간다는 것이지요.
-_-;; 메일 보내는 사용자 이름 어쩌구 자시구는 다 아닙니다.
---------------------------------------------------------------

hostname 으로 호스트이름을 확인합니다.

/etc/hosts 파일에
호스트IP        호스트이름
으로 줄을 추가합니다..

<예>
#hostname     (엔터)
bagesoft.com -> 호스트 이름 확인

#vi /etc/hosts (엔터)
211.000.111.222         bagesoft.com     (-> 자신의 ip와 호스트 이름에 맞게 변경)


 
 

  
 Buzz 저도 얼마전에 뼈저리게 느낀 부분입니다. 글 잘 올리셨어요!^^ 02/24 10:31:01 
  
 오봉근 이게 뭘 뜻하는건지 잘 모르겠는데요... 좀 정황을 설명해 주심 고맙겠습니다.^^ 02/24 13:38:50 
  
 b.d 받은 메일의 헤더를 보시면 위설정이 없을시 아마 apache@localhost로 가던가... 아마 그럴겁니다.. 다음에서 거부때려 버리죠.. 헐 난 무식하게 센드메일 설정부분을 고쳐놓았었는디... ㅡㅡ^ 02/24 14:09:58 
  
 전조 어떤분의 코멘트?? 혹시 제가 달았던 걸 말하는건 아닌지 ^^ 꼭 제가 달았던 코멘트가 아니라도 자세히 검색해 보면 다른 분이 올린 숨겨진 해법들이 있을것 입니다. 항상 다른 분들의 도움을 받는 입장에서 이런말 하기 조금 조심스럽습니다만 제발 답변이나 코멘트 다실때 좀더 신중해 주셨으면 합니다. 어쩌면 쉽게 해결할수 있는 문제를 근거없는 답변으로 (대표적인게 mail()함수를 쓰면 스팸처리 된다는 허무한 답변들 그것을 추종하는 다른 세력들 소켓방식을 써야만 해결된다는 허무맹랑한... 결정적 오류들...) 그것때문에 전 일주일을 고생했습니다 ㅡ.ㅡ
http://www.phpschool.com/bbs2/inc_view.html?id=46897&code=function2&start=0&mode=search&field=comment&operator=and&period=all&category_id=&s_que=hostname
 02/24 16:06:02 
  
 jyuvenia 전조님의 말씀과 같이... 그러한 일든은
기본적인 문서조차 읽어보지 않는 습관때문에 일어나는 일입니다.

'당신의 호스트 정보를 숨기지 마라. 그러면 리시버는 거부를
할 수도 있을 것이다. 리시버들이 가장 싫어하는 IP 주소는 192.168.x. 이며
또한 가장 싫어하는 호스트는 local 이다. 중략~'

라고 RFC 문에서 *Warning* 이라고 나와 있습니다.

그리고.. /etc/hosts 파일에 자신의 Full 호스트 네임을 표현하는
방법은 아래와 같습니다.
(도메인이 phpschool.com 이며 호스트가 ns 일때..)
127.0.0.1 <탭> ns.phpschool.com <스페이스> ns <탭> localhost.localdomain <스페이스> localhost

와 같이 표현하는 것이 표준 입니다. IP 번호는 상관없으며
적으실 필요 없습니다.

위와 같이 입력하시고 #]hostname
이라고 입력해 보시기 바랍니다.
ns.phpschool.com 이라고 나오면 정상입니다. 02/24 16:46:24 
  
 김정균 /etc/hosts 에 따로 기록할 필요가 없죠. 모든 일은 system의 hostname 을 FQDN으로 설정을 하지 않은 것이 원인입니다. 답을 /etc/hosts 에서 해결하는 것은 꽁수일 뿐입니다. 근본적인 해결책은 hostname을 FQDN 으로 설정을 하는 것입니다. 02/25 1:25:01 
  
 불면폐인 시키신대로 해봤는데 한메일로 메일도 안보내지고 hostname이라고 쳐봐도 여전히 server라고만 나오거든요?..뭐 리스타트시켜줘야하는것도 있나요?..답변을 부탁드립니다..^^;; 02/25 4:57:39 
  
 ~~ 어려운 말은 모르고요...
hostname이 실제 존재하는 domain이면 되는것 같던데여.
예를들어 자신의 hostname이 ns.test.com ~~~
이런식으로..
만일 hostname이 실제 존재 하지 않는다면
/etc/hosts 파일을 위에 하신 분 처럼 하면 되는거고요.. 02/25 16:02:01 
  
 jyuvenia 쉽게 설명하자면...
위에 정균님이 말씀하신 바와 같이 FQDN 으로.. 즉...
network 설정시 hostname 을 어떻게 설정을 했느냐...
하는 것이 가장 먼저 확인해 보셔야 합니다.
/etc/sysconfig/network 파일의 hostname 부분을 먼저 확인해
보라는 것입니다. 그 부분이 FQDN 으로 설정을 했나... 하는 것입니다. 02/25 16:08:53 
  
 불면폐인 네 ..님 말대루 /etc/sysconfig/network 파일을 보니 hostname부분이 server라고 되있더군요..그래서 FQDN으로 수정해봤는데 다시 hostname이라고 쳐봐도 계속 server라고만 나오네요..ㅠㅠ..뭘 리스타트시켜줘야하는건가요?..자꾸 물어봐서 염치없지만 저도 한메일로 메일보내는 문제땜에 골치를 썩고 있어서요..ㅜㅜ..한번더 고견을 듣고 싶습니다.. 02/26 3:21:31 
  
 맞구요... 아무래도...일단 저도 테스트를 해봤는데 맞는거 같네요
폐일불면님은...network restart 해보시구요
안되면...리부팅을 해보시면 확실해 질거 같네요그럼... 02/26 19:11:44 
  
 김정균 sysctl -w "kernel.hostname=FQDN"
명령을 실행하면 리부팅 없이 적용이 됩니다. FQDN 은 그대로 적지 말고 님의 실제 도메인을 적어주시면 됩니다. 그리고 리부팅을 했을 경우를 대비해서 /etc/sysconfig/network 에서 hostname 을 제대로 지정해 줘야 겠지요 02/28 5:07:24 
  
 불면폐인 네..^^님 시키신대로 해보니 적용이 되네요..hostname이라고 쳐보니 server라고 나오던것이 FQDN이라 나오는데 맞게 된건가요?..도메인 명이 나와야하는것아닌가?..ㅡㅡ;;....그리고 현재 서버에서 여러 도메인을 서비스중인데 도메인명을 적어줘야 한다면 네임서버의 이름을 적어줘야하나요?..아님 http.conf 화일에서 가장 처음으로 적혀있는 도메인의 이름을 적어줘야하나요?.. 하하;;;이거 산넘어 산이로군요,,^^;;; 03/01 14:57:56 
  
 불면폐인 제가 착각을 했었더군요..이제 됩니다..ㅜㅜ..감사감사..모두들 감사..ㅠㅠ
주제넘게 제가 마지막으로 정리를 하자면../etc/sysconfig/network 파일에서 hostname 항목을 server가 아닌 FQDN으로 수정해준다음에 sysctl 데몬이 있는 디렉토리로 가셔서(제 서버의 경우엔 /sbin/ 디렉토리) ./sysctl -w "kernel.hostname=실제 호스트명" 일케 해주면 되네요..ㅠㅠ..모두들 저처럼 잘 해결되시길..^^;; 03/03 15:23:01 
  
 아리엘 참고
FQDN (fully qualified domain name) 03/12 23:14:02 
  
 이원혁 그렇게 바꾸면 mysql 접속할 때 localhost 라고 적어준것도 다 고쳐야 하나요? 새로운 호스트명으로~~!!?? 04/09 13:41:01 
  
 박혜웅 이원혁님 mysql 접속과는 상관 없는 부분 같네요. 저도 잘 몰라 테스트 해보 말씀 드리는 거구여. -_-; 메일은 받았는데. 답장이 안 가지네요.. 메일서버설정에서 access 파일 봐주셔야 할꺼 같아여. 04/20 2:38:26 
  
 홍진수 저같은 경우에는.. 위에서 말씀하신 사항과 추가하여..
/etc/mail/local-host-names 에 FQDN 을 추가해주고
/etc/rc.d/init.d/sendmail stop, start 하여 sendmail을 리스타트하여 겨우 해결하였습니다. 06/29 22

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
mins01
mins01
mins
mins
mins
mins
mins
mins
mins
mins
mins01
mins
mins
mins
mins