HMail Server 4.4.1

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

hMail Server에 대한 전반적인 사항을 정리한다.
메일 서버로 SMTP, POP3, IMAP을 지원한다.

설치 가이드

아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.

hMail Server 설치 전 준비 사항

hMail Server 설치

  • hMail Server의 설치 파일을 다운로드 한다. (hMailServer-4.4.1-B273.exe)
hMail 서버 설치
  • hMailServer-4.4.1-B273.exe을 실행한다.
  • hMail Server의 설치를 시작한다.
hMail 서버 설치
  • hMail Server의 설치 디렉토리를 설정한다.
hMail 서버 설치
  • Server와 Administrative tools를 설치한다.
hMail 서버 설치
  • "Use external database server"를 선택하여 기존 설치된 MySQL과 연동한다.
hMail 서버 설치
  • 시작 메뉴에 추가할 hMail Server의 폴더 명을 지정한다.
hMail 서버 설치
  • "Install"을 선택하여 설치를 진행한다.
hMail 서버 설치

hMail Server용 database 설정

  • "Next" 버튼을 눌러 다음으로 진행한다.
hMail 서버 설치
  • "Create a new hMailServer database"를 선택하여 새로 database를 생성한다.
hMail 서버 설치
  • 새로 생성할 데이터베이스로 "MySQL Server"를 선택한다.
hMail 서버 설치
  • 데이터베이스 접속 정보와 생성할 데이터베이스 명("Database name")을 설정한다.
hMail 서버 설치
  • "Finish" 버튼을 눌러 데이터베이스 설정을 시작한다.
hMail 서버 설치
  • 데이터베이스 설정을 종료한다.
hMail 서버 설치
  • hMail Server의 관리자 암호를 설정한다.
hMail 서버 설치
  • 설치를 종료하고 관리 프로그램을 시작한다.
hMail 서버 설치
  • MySQL 데이터베이스 관리 도구에서 pnuskgh라는 데이터베이스가 생성된 것을 확인할 수 있다.
데이터베이스 확인

DNS 설정

hMail Server를 정상적으로 사용하기 위해서는 필요한 환경 설정을 하여야 합니다.

  1. DNS에 서버 도메인(mail.jopensource.com)을 등록한다.
  2. DNS에 MX(Mail Exchanger)에 메일의 도메인(jopensource.com)을 등록한다.

방화벽 설정

hMail Server를 정상적으로 사용하기 위해서는 필요한 환경 설정을 하여야 합니다.

  1. 방화벽에서 SMTP(25 port), POP3(110 port), IMAP(143 port)를 사용할 수 있도록 오픈한다.
  • "시작" -> "설정" -> "제어판"에서 "Windows 방화벽"을 실행한다.
  • "예외" 탭을 선택하여 "포트 추가" 버튼을 클릭한다.
방화벽 예외
  • 방화벽에 메일에서 사용할 다음 3개의 포트를 추가한다.
  • SMTP, 25, TCP
  • POP3, 110, TCP
  • IMAP4 143, TCP
방화벽 포트 추가

hMail Server 환경 설정

hMail Server를 정상적으로 사용하기 위해서는 필요한 환경 설정을 하여야 합니다.

  1. hMail Server에서 메일 송수신에 필요한 설정을 한다.
  • "시작" -> "프로그램" -> "hMailServer" -> "hMailServer Administrator" 메뉴를 선택한다.
  • "Connect" 버튼을 눌러 암호 입력창이 뜨면 암호를 입력하고 로그인한다.
로그인
  • "파일" 메뉴에서 "Select language..." 메뉴를 선택한 후 "Korean" 언어를 선택한다.
언어 설정
  • "환영"에서 "도메인 추가..."를 누른다.
도메인 추가
  • 도메인명에 "jopenbusiness.com"을 입력한 후 "저장" 버튼을 누른다.
도메인 설정
  • 도메인에 계정, 알리아스, 배포리스트를 추가할 수 있다.
  • 계정 추가 : 메일 계정을 추가한다.
  • 알리아스 추가 : 메일 계정의 별칭을 추가한다.
  • 배포리스트 추가 : 메일링 리스트를 추가한다.
도메인 설정 화면
  • "계정 추가..." : 계정 주소와 암호를 입력하고 활성을 체크하여 계정을 추가한다.
계정 추가
  • "배포리스트 추가..." : 주소를 입력하고 활성을 체크하여 메일링 리스트를 추가한다.
메일링 리스트로 메일을 보내면 소속된 멤버 전원에게 메일이 발송된다.
메일링 리스트 추가
  • "추가" 번튼을 눌러 메일링 리스트에 멤버를 추가한다.
멤버 추가
  • SMTP 설정에서 환영메시지를 지정한다.
환영 메시지 지정
  • SMTP 설정에서 호스트네임을 지정한다.
호스트네임 지정
  • POP3 설정에서 환영메시지를 지정한다.
환영 메시지 지정
  • IMAP 설정에서 환영메시지를 지정한다.
환영 메시지 지정
  • 스팸메일을 방지하기 위해서 DNS 블랙리스트를 활성화한다.
DNS 블랙리스트 : 스팸 메일을 발송하는 것으로 알려진 사이트 주소 목록
DNS 블랙리스트 활성화
  • 로깅을 사용하도록 설정하고 SMTP, POP3, IMAP 로그를 체크한다.
로깅 설정
  • "로그파일보기"를 눌렸을 때 로그파일을 보여주는 탐색기가 표시된다.
로깅 디렉토리
  • 내부망에서 인증을 사용하지 않도록 jopenbusiness를 추가한다.
내부망에서 인증을 사용하지 않도록 하는 것은 보안상 문제가 되기 때문에 다른 방안이 있다면 이를 사용하지 말 것을 권한다.
이름 : jopenbusiness, 하위IP : 222.239.78.56, 상위IP : 222.239.78.56, 우선순위 : 20
우선 순위가 높은 것이 먼저 적용되므로, 다른 영역보다 jopenbusines의 우선 순위를 높여야 한다.
내부 IP 영역 등록

사용자 가이드

Mediawiki에서 hMail Server를 사용하도록 설정

  • %PHP_HOME%/php.ini 파일을 수정한다.
SMTP = mail.jopenbusiness.com
smtp_port = 25
date.timezone = Asia/Seoul
  • %MEDIAWIKI_HOME%/LocalSettings.php 파일을 수정한다.
$wgEmergencyContact = "admin@jopenbusiness.com";
$wgPasswordSender = "admin@jopenbusiness.com";
$wgEmailAuthentication = true;

관리자 가이드

hMail Server 시작/종료

  • hMail Server를 시작/종료하는 방법
"시작" 메뉴에서 "설정" 메뉴를 선택한 후 "제어판"을 선택한다.
"관리 도구"를 더블 클릭한 후 "서비스"를 더블 클릭한다.
hMailServer를 선택한 후 오른쪽 마우스를 클릭하여 hMail Server를 시작하거나 중지(종료)할 수 있다.
시작 종료


DNS와 DNS MX 확인

  • DNS와 DNS MX(Mail Exchanger)를 확인한다.
DNS 확인
nslookup
    set q=a                   : DNS 검색 모드를 address 모드로 설정한다.
    www.jopenbusiness.com     : 입력한 도메인을 검색한다.
    -> Address에 www.jopenbusiness.com의 IP가 나오면 정상이다.
    set q=mx                  : DNS 검색 모드를 mail exchanger 모드로 설정한다.
    jopenbusiness.com         : 입력한 메일 도메인(메일에서 @뒤 도메인)을 검색한다.
    -> mail exchanger가 표시되면 정상이며, 여기에 지정된 서버가 메일을 처리한다.
    -> MX preference는 메일 서버가 여럿일 때 처리의 우선 순위를 표시하며, 숫자가 낮을 수록 우선 순위가 높다.
    set type=ptr              : IP를 입력하면 도메인을 찾아 준다.
    175.119.227.287           
    exit

메일 송수신 확인

  • SMTP로 메일 발송이 잘 되는지 확인한다.
DNS 확인
telnet localhost 25                  : SMTP는 디폴트로 25번 port를 사용한다.
openssl s_client -connect smtp.gmail.com:465
openssl s_client -starttls smtp -connect smtp.gmail.com:587
   # helo jopenbusiness              : 메일 서버와 인사를 함, 일부 메일 서버는 사용하지 않음
   EHLO jopenbusiness.com
    auth login                      : 인증이 필요한 경우 3라인을 추가 합니다.
    login_id                        : Base64 Encode, echo -ne '아이디' | base64
    password                        : Base64 Encode, echo -ne '비밀번호' | base64
   mail from: aaaaa@test.co.kr      : 봉투에 사용되는 보내는 사람 메일 주소
   rcpt to: admin@jopenbusiness.com : 봉투에 사용되는 받는 사람 메일 주소, 이주소로 메일이 발송됨
   data                             : 이 다음 라인부터 메일의 본문이 시작됨을 알려줌
   From: aaaaa@test.co.kr           : 메일을 보내는 사람 주소
   To: admin@jopenbusiness.com      : 메일을 받는 사람 주소, 메일 배달시 이 주소가 아니라 봉투의 주소가 사용됨
   Subject: Test mail               : 메일의 제목
   -> 여기에 반드시 한줄을 띄워야 한다.
   test mail body                   : 메일 내용
   test mail body line 2           
   .                                : 메일의 본문이 종료되고 메일이 발송되도록 함
   quit
  • POP3로 편지함을 확인한다.
DNS 확인
telnet localhost 110                 : POP3는 디폴트로 110번 port를 사용한다.
   user admin@jopenbusiness.com     : 사용자 아이디를 지정한다. admin만을 사용하는 서버도 있음
   pass 암호                        : 사용자의 암호를 지정한다.
   list                             : 메일의 전체 목록을 표시한다.
   retr 11                          : 11번째 메일을 읽는다.
   quit
  • IMAP으로 편지함을 확인한다.
DNS 확인
telnet localhost 143                 : IMAP은 디폴트로 143 port를 사용한다.
   0 login admin 암호               : 아이디와 암호로 로그인 한다.
   1 select inbox                   : 받은 편지함(inbox)를 선택하여 오픈한다.
   2 fetch 11 rfc822.header         : 11번째 메일의 헤더를 읽는다.
   3 fetch 11 body[]                : 11번째 메일읜 본문을 읽는다.
   4 close                          : 받은 편지함(inbox)을 close 한다.
   5 logout

참고 문헌