본문 바로가기

Linux/오류경험

centos fsockopen smtp 오류


사건개요.

자뻑 실수 사건 요지

- 외부 메일서버 서비스를 이용중임.
- 파일 질라로  ftp 서버 접속해서 살펴보던중 etc 폴더가 마우스 조작 실수로 다른 폴더로 이동됨.

사건의 흐름

- 순간 어떤 작업이 일어 났는데 인지를 못함. ( 나중에 어떤 결과를 초래할지 알지못했다..)
- 다른 작업중이 어서 일정시간후 파일질라 접속하려했으나 접속 불가 했다. ( 뒷목이 쌔함 ㅜㅜ )
- 터미널로 접속시도 했으나 root 계정도 접속이 불가했다.
- 뇌리를 스치는 아까의 쌔함을 더듬어 파일질라 로그를 확인했다.
- 이럴수가....ㅠㅠ... etc 폴더가 home 폴더로 임의로 이동됨
- 다행히 사이트가 다운되거나 그러지 않음
- 서버 업체에 연락 사정을 얘기하고 도움요청
- 저녁에 해준다함. 감사의 말이 맘속부터 올라옴
- 저녁에 복구했다는 연락에  접속 확인함
- 하지만 생각못한 나비효과가 주말지나고 나타남
- 그것은 바로 이메일 smtp 접속이 에러가 나 발송이 주말동안 메일 발송이 안됨 ㅠㅠ
- 문제는 fsockopen 오류인데 너무 광범위 해서 찾을수가 없었음.
- 삽질 정말 많이 하다 결국 서버업체에 도움을 요청함.

해결

- 서버업체에서 결국 해결해줌.
- 문제의 요지는 etc 폴더를 이동함으로 네트웍 설정이 초기화 된거라함 ( 이쪽은 무지라 말로만 이해.)
- 문자로된 주소 연결이 허용안된거라함. ( 아이피로만 접속되게 된거라 이해함. )
- 어떤 네트웍설정인지 민폐인거 같아 자세히 묻지는 못함.
- smtp 연결이됨으로 해결됨.

추후 대처방안

- 해결법을 찾다  fsockopen로 smtp 체크하는 소스를 찾음
- 페이지 로딩시 체크하여 에러가나면 alert 메세지나 등록을 차단하기로함

$host = "smtp.메일서버.co.kr";
$port = "465";

$checkconn = fsockopen($host, $port, $errno, $errstr, 5);

if(!$checkconn){
    echo "($errno) $errstr"; // 오류메세지
} else {
    echo 'ok'; // 정상
}

 

교훈

root 계정 접속 조심하자! ㅠㅠ

반응형