Nmail PHP Guide

- Windows -

Version 3.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://passkorea.net


 

-   -

 

I.  설치 준비. - 3 -

1.  설치시 필요한 프로그램 버전. - 3 -

2.  메뉴얼내의 예제 실행 안내. - 3 -

3.  IIS 및 Apache + PHP + MySQL 설치. - 4 -

4.  서버에서 사용중인 네임서버 확인. - 9 -

5.  기존 메일서비스(SMTP/POP3) 중지. - 10 -

II.       설치. - 11 -

1.  엔메일 설치 프로그램 압축풀기. - 11 -

2.  PHP 실행파일 테스트(중요!) - 11 -

3.  PHP 파일 경로 확인. - 12 -

4.  PHP 확장모듈 확인. - 12 -

5.  엔메일 설치 프로그램 실행. - 13 -

6.  엔메일 설치후 필수 조치. - 13 -

7.  Apache 웹서버 가상호스트 설정. - 14 -

8.  Apache 알리아스 설정(선택 사항) - 16 -

9.  방화벽 설정 확인. - 17 -

10. 웹메일 접속. - 17 -

11. 멀티 도메인, 회원 추가. - 17 -

12. TLS 통신을 위해 SSL 인증서 발급 적용 방법. - 18 -

III.     메일서버 관리 안내. - 19 -

IV.       POP3(아웃룩 등) 이용안내. - 20 -

V.  리턴메일 분석 안내. - 21 -

 


 

 

 

I.     설치 준비

 

 

1.    설치시 필요한 프로그램 버전

엔메일은 IIS Apache + PHP + MySQL 데몬을 기반으로 Windows/Linux 환경에서 사용하도록 제작되었습니다엔메일 동작에 필요한 최소사양은 다음과 같습니다.

 

[OS] Windows 2008/2012/2016, Windows 7 (Linux 용 제품은 별도로 있음)

[Web Server] Apache 2.0 / 2.2 / 2.4 지원, IIS 지원(권장)

[Language] PHP 5.1 ~ 5.6(32Bit) 지원 / PHP 7.0 (64Bit) 권장 (mbstring, iconv 모듈 필요)

[DBMS] MariaDB 5.5, 10.x 설치권장 / MySQL 4, MySQL 5.6 지원

[필요소프트웨어] Windows 2008 이하의 경우 .Net Framework 4.0

    http://www.microsoft.com/ko-KR/download/details.aspx?id=17113

PHP 5.5 5.6 일 경우 Visual Studio 2012 업데이트 4 Visual C++ 재배포 가능 패키지

https://www.microsoft.com/ko-kr/download/details.aspx?id=30679

     PHP 7.0 일 경우 Visual Studio 2015 Visual C++ 재배포 가능 패키지 

       https://www.microsoft.com/ko-kr/download/details.aspx?id=48145

 

2.    메뉴얼내의 예제 실행 안내

아래처럼 사각박스안에 들어가는 내용은 [시작 - 실행]에서 cmd를 입력해 명령 창을 띄운 상태에서 입력하는 명령어입니다이때 (#)으로 시작되는 라인은 안내문구이므로 입력할 필요가 없습니다.

# PHP 실행파일이 존재하는지 확인합니다.

    => 주석표시로 다음에 나올 명령에 대한 안내입니다.

php -v

    => 터미널화면에 복사후 붙여넣기나 직접 입력해야하는 명령입니다.

#result#

PHP 5.1.4 (cgi-fcgi) (built: May  4 2006 10:35:07)

Copyright (c) 1997-2006 The PHP Group

Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

=> 쉘명령 실행후 화면상에 출력되는 결과물입니다.

3.    IIS Apache + PHP + MySQL 설치

- 아래 설치방법 중 한가지를 선택하시면 됩니다.

* 엔메일 윈도우 버전은 PHP 5.1 ~ 5.6, 7.0 까지 지원됩니다.

* 설치과정에서의 문제나 보안 문제를 해결하기 위해, 반드시 최신 윈도우로 Windows update를 완료하시기 바랍니다.

 

  IIS Apache, PHP, MySQL 을 개별적으로 설치하기.

배포사이트)

Apache - http://httpd.apache.org/

PHP - http://kr.php.net/

MariaDB - https://mariadb.com/

MySQL - http://dev.mysql.com

 

다운로드) 2017-06-30 기준 최신버젼

Apache - http://mirror.apache-kr.org//httpd/binaries/win32/

PHP - http://windows.php.net/download/

      http://windows.php.net/downloads/releases/php-7.0.20-nts-Win32-VC14-x86.zip

           * Apache 와 설치할 경우, Thread Safe버전을 받아야 합니다.

MariaDB - https://downloads.mariadb.org/

MySQL - http://dev.mysql.com/downloads/mysql/

        https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.6.36.0.msi

     Tip) 설치 파일들은 C:\NmailPHP_install\ 폴더를 만들어 모두 보관해두셔야 합니다그래야 서버 이전/재설치시 설치된 프로그램 버전을 찾느라 시간을 낭비하지 않습니다.

 

PHP 직접설치)

a.  php-7.0.20-nts-Win32-VC14-x64.zip 파일을 C:\NmailPHP\PHP 에 압축을 해제합니다.

b.  Apache 의 경우설치 완료 후 C:\NmailPHP\Apache\conf\httpd.conf 파일을 열어 가장 마지막의 LoadModule php5_module …”아래에 다음 라인을 추가합니다.

AddHandler application/x-httpd-php .php .htm .html

c.  설치 완료 후 C:\NmailPHP\PHP\php.ini 파일을 열어 아래 옵션을 On으로 변경합니다.

short_open_tag = Off

=>

short_open_tag = On

d.  IIS 경우 FastCgi 사용을 위해 C:\NmailPHP\PHP\php.ini 에 주석을 제거 및 수정해야 합니다.

;fastcgi.impersonate = 1

=>

fastcgi.impersonate = 1

;cgi.fix_pathinfo = 1

=>

cgi.fix_pathinfo = 1

;cgi.force_redirect = 1

=>

cgi.force_redirect = 0

e.  확장 모듈 호출을 위해 C:\NmailPHP\PHP\php.ini 에 아래 옵션을 변경해야 합니다.

extension_dir = ext

=>

extension_dir = "C:\NmailPHP\PHP\ext"

f.  [관리도구 서비스]에서 Apache 2.X항목을 다시 시작합니다.

g.  아파치 웹문서 폴더(C:\NmailPHP\Apache\htdocs\)에 다음 코드를 넣은 test.php 파일을 만듭니다.

<?php phpinfo(); ?>

h.  만든 파일을 웹브라우저에서 http://localhost/test.php 로 불러들여서 PHP 정보가 나온다면 설치가 성공한 것 입니다만약 PHP 정보가 나오지 않는다면 설치과정에서 문제가 발생한 것이므로 Apache, PHP재설치하시거나 아래 문서를 참고해보시기 바랍니다.

http://kr.php.net/manual/kr/install.apache2.php

 

 

MySQL 직접설치)

a.  설치파일(mysql-installer-community-5.6.36.0.msi)을 실행합니다.

b.  만약 .NET Framework 4.0 이 설치되지 않았다고 강제 종료될 경우, .NET Framework 4.0 을 먼저 설치해주셔야 합니다.

http://www.microsoft.com/ko-KR/download/details.aspx?id=17113

c.  [Coosing a Setup Type]에서 Custom항목을 체크하고 설치를 시작합니다.

d.  [Available Products] 항목에서 MySQL Server 5.6를 선택합니다.

e.  아래의 Advanced OptionsInstallation Path: Data Path:는 둘 다 C:\NmailPHP\MySQL을 입력하고, 설치를 시작합니다.

f.  [Server Configuration type]Development Machine 대신에 Server Machine을 선택하고, 외부에서 따로 MySQL에 접근할 필요가 없다면 Open Firewall port for network access항목을 체크 해제합니다.

g.  [Root Account Password] MySQL root 비밀번호를 새로 입력합니다.

h.  나머지 과정은 기본값으로 진행하면 설치가 완료됩니다.

i.  설치 완료 후 C:\NmailPHP\MySQL\my.ini 파일을 열어 아래처럼 옵션을 수정합니다.

[mysqld]

max_allowed_packet=4M

=>

[mysqld]

max_allowed_packet=32M

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

=>

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

default-storage-engine=INNODB

=>

default-storage-engine=MyISAM

j.  [관리도구 서비스]에서 MySQL56항목을 다시 시작합니다.

 

IIS + PHP FastCGI를 이용한 구성)

a.  [서버 관리자] - [역할 추가] -  [웹서버(IIS)]를 선택합니다.

b.  [응용 프로그램 개발] [CGI]를 체크한 후 설치합니다.

c.  [IIS(인터넷 정보 서비스) 관리자]를 실행한 후 서버를 선택합니다.

d.  [FastCGI] 설정 -> [응용 프로그램 추가]를 선택합니다.

e.  전체 경로에 PHP가 설치된 C:\NmailPHP\PHP\php-cgi.exe 를 넣습니다.

f.  다시 서버를 선택한 후 php 매핑을 위해 [처리기 매핑]을 선택합니다.

g.  [모듈 매핑 추가]를 선택한 후 아래와 같이 총 3개를 입력합니다.

  요청 경로 : *.php 
  모듈 : FastCgiModule 
  실행 파일(옵션) : "C:\NmailPHP\PHP\php-cgi.exe" 
  이름 : PHP_FastCGI 

  요청 경로 : *.html 
  모듈 : FastCgiModule 
  실행 파일(옵션) : "C:\NmailPHP\PHP\php-cgi.exe" 
  이름 : HTML_FastCGI 

  요청 경로 : *.htm 
  모듈 : FastCgiModule 
  실행 파일(옵션) : "C:\NmailPHP\PHP\php-cgi.exe" 
  이름 : HTM_FastCGI 

h.  대용량메일 설정을 위해 [요청 필터링] [기능 설정 편집]을 선택합니다.

i.  [허용되는 최대 컨텐츠 길이]를 아래와 같이 변경합니다.

30000000

=>

2147483647

j.  [기본 문서]index.php를 추가합니다.

k.  마지막으로 웹브라우저에서 http://localhost/ (혹은 서버 IP)주소를 입력하여,IIS 기본 화면이 보여지면 설치가 완료된 것 입니다.

 

Apache 직접설치)

a.  설치 IIS 등의 다른 웹서버는 서비스를 중지시켜야 충돌이 생기지 않습니다.

b.  설치파일을 실행 한 후 라이센스에 동의합니다.

c.  [Server Infomation]에서 사용할 도메인과 관리자 메일주소를 입력합니다.

d.  [Setup Type]Custom을 선택합니다.

e.  [Custom Setup]에서 Install to: C:\Program Files\Apache Software Foundation\Apache2.X\ 우측의 Change버튼을 클릭하고, 설치할 폴더를 C:\NmailPHP\Apache 로 변경하고, 다음버튼을 클릭하면 설치가 시작됩니다.

f.  설치 완료 후 [Windows 보안 경고]가 나오면 방화벽 차단 해제 클릭합니다.

g.  설정파일(C:\NmailPHP\Apache\conf\httpd.conf)을 열어 다음처럼 옵션을 수정합니다.

DirectoryIndex index.html

=>

DirectoryIndex index.php index.htm index.html

h.  마지막으로 웹브라우저에서 http://localhost/ (혹은 서버 IP)주소를 입력하여,Apache 웹서버 기본 화면이 보여지면 설치가 완료된 것 입니다.

 

 

  AutoSet 6.3.1 - Apache + PHP + MySQL 간편 설치 프로그램

배포사이트 - http://www.autoset.net/

다운로드 - http://autoset.net/xe/download_autoset_9_0_0

설치방법)

a.  설치파일을 다운로드 받아서 실행한 후 원하는 폴더에 설치합니다. (기본 C:\AutoSet9

b.  오토셋 홈페이지내의 사용자 가이드에 설치 및 사용방법이 안내되어 있습니다.

c.  오토셋을 설치하고 오토셋 관리툴 phpMyAdmin에서 MySQL root 비밀번호를 변경하셔야 합니다.  (변경하지 않을 경우 초기 비밀번호가 동일해서 보안상 위험이 있습니다.)

d.  오토셋 관리툴[도구 - MySQL 설정]에서 max_allowed_packet값이 32M이상인지 확인 합니다.  (이 값이 작을 경우 메일 본문의 클 때 웹메일에서 메일이 제대로 보이지 않는 문제가 발생하게 됩니다.)

e.   오토셋 관리툴[도구 - PHP 기본 경로 설정]에서 Sendmail 경로값을 삭제하고, [변경사항 저장]을 클릭합니다. (삭제해야 웹페이지에서 엔메일을 통해 메일발송이 됩니다.)

f.  오토셋 관리툴[도구 - PHP 세부 설정 Session 설정]에서 세션 자동 시작사용않음으로 변경하고, [변경사항 저장]을 클릭합니다. (세션이 자동 시작되면 대용량 첨부 파일을 다운로드할처럼 로그인이 필요없는 페이지에서 문제가 발생합니다.)

g.  오토셋 관리툴 [파일 웹서버 재시작]을 눌러 아파치 웹서버를 재시작합니다.

h.  php.exe 실행시 php.ini 경로를 올바르게 찾기 위한 환경 변수 추가합니다.

1.   [제어판 - 시스템]에서 [고급]탭을 클릭하고, [환경 변수]버튼을 클릭합니다.

2.   "시스템 변수"영역에 PHPRC 변수가 없다면, [새로 만들기]버튼을 클릭하여 추가합니다.

          변수 이름 : PHPRC

          변수 : C:\AutoSet9Server\conf\

                 * PHP 설치 경로이므로, 설치 방법에 따라 다를 수 있습니다.

    3. Path 변수에서 [편집]을 누르고, 변수 값 마지막에 붙은 세미콜론(;)을 삭제해야 합니다.

          ...;C:\AutoSet9Server\bin\;

          =>

...;C:\AutoSet9Server\bin\

       * 이 과정을 거쳐야 오토셋 설치후에 명령창에서 more, findstr 등의 명령이 실행되지 않는 문제가 해결됩니다.

    4. 서버를 재부팅하고, [시작 - 실행]에서 cmd 입력하여 명령 창을 열고 php 버전을 확인해보면 됩니다.

          php -v

          php -i|findstr ini

정상 결과) Loaded Configuration File => C:\AutoSet9Server\conf\php.ini

 

 

참고) 오토셋 사용자 커뮤니티에 엔메일 설치방법에 관한 글이 화면캡쳐와 함께 등록되어 있으므로 참고하시면 설치에 도움이 됩니다.

게시물 제목) 메일 서버 구축하기 - NMail PHP

게시물 링크) http://cafe.naver.com/autoset/2440

 

 

4.    서버에서 사용중인 네임서버 확인

네임서버는 명령 창에서 다음처럼 확인이 가능합니다.

ipconfig/all

#result#

Ethernet adapter 로컬 영역 연결:

        ...(생략)...

        DNS Servers . . . . . . . . . . . : 211.170.106.66

                                            164.124.101.2

 

등록된 DNS 중 첫 번째 네임서버를 먼저 사용하다가 응답이 없을 때 두 번째 네임서버를 사용하게 됩니다따라서 첫 번째 네임서버는 가급적 자체네임서버를 설치해서 해당 IP를 등록해 두시는 것이 좋습니다자체네임서버는 실제 DNS 서비스를 제공하지 않더라도 Windows Server OS 에서 기본 제공되는 DNS 패키지만 추가해두시면 외부네임서버를 사용하는 경우보다 빠른 처리가 가능합니다그리고 자체네임서버에 문제가 생길 경우를 고려하여 사용중인 호스팅/ISP 업체의 네임서버를 2, 3차로 등록해두시는 것이 좋습니다.

 

 등록된 네임서버가 제대로 응답하는지 다음처럼 확인해보시면 됩니다.

ex) nslookup 도메인주소 네임서버IP

nslookup nbuilder.net 네임서버IP

#result#

Server:  passkorea.net

Address:  211.170.106.66

 

Name:    nbuilder.net

Address:  211.170.106.96

 

 

5.    기존 메일서비스(SMTP/POP3) 중지

설치시 새로운 SMTP/POP3 서비스를 실행하게 됩니다따라서 기존에 운영중이던 SMTP/POP3 서비스가 있다면 [관리도구 - 서비스]에서 종료시키고 자동시작되지 않도록 조치하셔야 합니다.   Windows Server 제품군에는 기본 SMTP 서비스가 실행되고 있으므로 반드시 종료시켜야 합니다.

# 메일서비스 종료 후 SMTP(25), POP3(110)포트에서 응답이 없는지 확인.

telnet 127.0.0.1 25

telnet 127.0.0.1 110

 

# 만약 25, 110 포트에서 응답이 있다면 기존 메일서비스가 종료된 것이 아니므로 재확인하셔야 합니다.

 


 

 

 

II.  설치

 

 

1.    엔메일 설치 프로그램 압축풀기

1. 다운받은 설치 프로그램의 압축을 풀면 실행파일이 나옵니다.

   UTF-8 제품 - nmail-php-windows-utf8.zip

 

2. 실행파일을 실행해 압축을 풀 폴더위치를 C:\ 로 선택하면 기본 설치 폴더인 C:\NmailPHP 에 압축이 풀립니다.   다른 폴더를 선택해도 되지만 C:\Program Files 처럼 공백이 들어간 폴더는 사용하시면 안됩니다.

 

 

 

2.    PHP 실행파일 테스트(중요!)

명령 창에서 php -v 명령이 제대로 실행되고, php.ini 를 정상적으로 로드하는지 확인하면 됩니다.

php -v

#result#

PHP 5.3.27 (cli) (built: Jul 10 2013 20:56:24)

Copyright (c) 1997-2013 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

 

php -i|findstr php.ini

#result# PHP 개별 설치시

Loaded Configuration File => C:\NmailPHP\PHP\php.ini

 

#result# AutoSet 9.0.0 설치시

Loaded Configuration File => C:\AutoSet9\Server\conf\php.ini

 

 

3.    PHP 파일 경로 확인

만약 php 명령이 제대로 실행되지 앟는다면, 시스템 폴더 ( C:\WINDOWS / C:\WINNT ) 에 경로 호환을 위한 php.bat 라는 배치파일을 만들어야 합니다.

C:\NmailPHP\_php.bat_sample 폴더 안에서  알맞은 php_????.bat 파일을 열어, PHP 폴더와 php.ini 폴더를 현재 서버에 맞게 수정하고, 수정한 파일을  php.bat 로 저장합니다그리고 수정한 php.bat 를 시스템 폴더( C:\WINDOWS / C:\WINNT )에 복사하고, 다시 php -v"명령을 실행해서 확인하면 됩니다.

 

ex) php.bat - PHP 개별 설치시

@ECHO OFF

C:\NmailPHP\PHP\php.exe -q -c C:\NmailPHP\PHP\php.ini %*

 

ex) php.bat - PHP 개별 설치시 2

@ECHO OFF

C:\PHP\php.exe -q -c C:\PHP\php.ini %*

 

ex) php.bat - 오토셋

@ECHO OFF

C:\AutoSet9\Server\php5\php.exe -q -c C:\AutoSet9\Server\conf\php.ini %*

 

ex) php.bat - RWAPM

@ECHO OFF

C:\RWAPM\RTM20040531\bin\php-cgi.exe -q %*

 

 

4.    PHP 확장모듈 확인

명령 창에서 아래처럼 mbstring, mysqli 모듈이 설치되어 있는지 확인합니다.

php -m|findstr mbstring

#result#

mbstring

php -m|findstr mysqli

#result#

mysqli

 

mbstring 모듈이 설치되어 있지 않을 경우 다음처럼 php.ini 파일의 경로를 확인하고,

php -i|findstr php.ini

#result#

Configuration File (php.ini) Path </td><td class="v">C:\RWAPM\RTM20040531\bin\php.ini

 

php.ini 파일을 열어 mbstring 모듈, mysqli 모듈을 로딩하는 부분의 주석을 제거합니다.

;extension=php_mbstring.dll

=>

extension=php_mbstring.dll

;extension=php_mysqli.dll

=>

extension=php_mysqli.dll

 

 

5.    엔메일 설치 프로그램 실행

주의) Windows 2008 이상에서는 bat 파일에서 마우스 오른쪽 단추를 눌러 관리자 권한으로 실행을 클릭해서 실행해야 정상 동작합니다.

 

1. [윈도우 탐색기]를 사용해서 설치 폴더로 이동하셔서 nmail_dir_set.bat 를 실행합니다레지스트리 등록확인이 나오면 누르시면 됩니다.

 

2. 설치 폴더안에 nmail_install.bat 를 실행해서 안내 문구에 따라 필요한 정보를 입력하시면 설치가 완료됩니다.  설치가 정상적으로 완료된 경우 마지막 화면에 아파치 가상 호스트 설정예제가 보여지게 됩니다.  만약 중간에 실패했을 경우에는 실패원인에 대해 조치 후 설치 스크립트를 다시 실행하시면 됩니다참고로 설치 스크립트는 중복 실행해도 문제가 발생하지 않도록 설계되어 있습니다.

 

 

6.    엔메일 설치후 필수 조치

1. Windows Server 제품군의 경우 엔메일이 설치된 폴더의 '보안' 속성에서 'everyone'계정에 모든권한 부여해주시기 바랍니다.

 

2. 백신 프로그램이 설치되어 있을 경우 실시간 감시기능을 중단시키거나, 엔메일 폴더를 감시제외 디렉토리로 지정해두셔야 합니다그리고 인터넷 감시(POP3)기능도 중단해야 합니다. 메일서버의 특성상 파일 핸들링시 백신 프로그램과 충돌해 이유없는 장애 현상이 발생하는 주요 원인이 됩니다.

 

7.    Apache 웹서버 가상호스트 설정

주의) 서버내에 기존에 운영중인 웹사이트가 있을 경우

Apache 가상호스트에 선언되지 않은 도메인으로 접속할 경우 첫번째 가상호스트 설정을 따르게 니다.  이로 인해 기존 웹사이트(www.YourDomain.com)용 가상호스트가 따로 선언되지 않은 상태에서 엔메일용 가상호스트를 추가하게 문제가 발생할 수 있습니다문제가 생기지 않도록 미리 기존 웹사이트에 맞는 가상호스트가 설정을 확인 후 추가하시는게 좋습니다.

 

- 다음 설정방법 중 자신의 Apache 환경에 맞는 한가지를 선택해서 참고하시면 됩니다.

 

PHP 직접 설치 - IIS사용자)

       [사이트 추가] 메뉴에서 실제 경로를 C:\NmailPHP\nmail 로 설정하면 됩니다.

 

PHP 직접 설치 - Apache 사용자)

    설치 과정에서 자동으로 만들어지는 C:\NmailPHP\upload\config\httpd_virtualhost.날짜 파일의 내용을 C:\NmailPHP\Apache\conf\httpd.conf 파일의 마지막에 추가합니다.

 

# VirtualHost Enabled

NameVirtualHost *:80

 

# Nmail PHP - http://mail.YourDomain.com/

<VirtualHost *:80>

     ServerAdmin postmaster@YourDomain.com

     DocumentRoot "C:\NmailPHP\nmail"

     ServerName mail.YourDomain.com

     ServerAlias mail.*

     #ServerAlias mail.MultiDomain1.com mail.MultiDomain2.com

     ErrorLog logs\nmail2.error_log

     CustomLog logs\nmail2.access_log combined

     <Directory "C:\NmailPHP\nmail">

         Options None

         AllowOverride All

         AddDefaultCharset Off

         <IfModule mod_authz_core.c>

           Require all granted

         </IfModule>

         <IfModule !mod_authz_core.c>

           Order allow,deny

           Allow from all

         </IfModule>

     </Directory>

</VirtualHost>

[관리도구 서비스]에서 Apache 2.2항목을 다시 시작합니다.

 

오토셋 사용자)

   오토셋 관리툴[도구 - 웹서버 세부 설정 - 가상 호스트 설정]에서 등록하고, Apache 웹서버를 재시작하시면 됩니다.

-    연결 주 도메인 : mail.YourDomain.com (메일주소)

-    연결 부 도메인 : mail.* (여러개의 도메인 사용시 필수)

-    디렉토리 : c:\NmailPHP\nmail

주의) 엔메일 설치 폴더아래의 nmail(웹메일 소스) 폴더를 지정해야 합니다엔메일 설치 폴더(c:\NmailPHP) 지정할 경우 심각한 보안위험에 노출됩니다.

-    관리자 E-mail :

-    Access Log를 남깁니다. 항목 체크

-    Error Log를 남깁니다. 항목 체크

 

그외 사용자)

==============================================================================

= 엔메일 설치 작업이 완료되었습니다.

==============================================================================

이제 Apache 웹서버의 설정파일인 httpd.conf 에 가상호스트(혹은 알리아스) 설정을 추가하고

Apache 웹서버를 재시작하면 웹메일을 사용하실 수 있게 됩니다.

  httpd.conf 추가해야할 내용)

    주의) 서버에 따라 NameVirtualHost, VIrtualHost 항목은 다를 수 있으니 기존 설정을 확인하세요.

    주의) ServerName DNS 설정에 따라 'mail'이라는 2차도메인이 붙지 않을 수 도 있으니

        DNS 서버관리자에게 문의하시기 바랍니다.

  httpd.conf 의 일반적인 경로)

    RWAPM 설치시) C:\RWAPM\RTM20040531\conf\httpd.conf

    개별 설치시) C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf

 

NameVirtualHost *:80

<VirtualHost *:80>

     ServerAdmin postmaster@YourDomain.com

     DocumentRoot "C:\NmailPHP\nmail"

     ServerName mail.YourDomain.com

 ServerAlias mail.*    # mail. 으로 시작하는 모든 도메인에 이 설정을 적용한다는 의미임.

     #ServerAlias mail.MultiDomain1.com mail.MultiDomain2.com

     ErrorLog logs/nmail2.error_log

CustomLog logs\nmail2.access_log combined

     <Directory "C:\NmailPHP\nmail">

         Options None

         AllowOverride All

         AddDefaultCharset Off

         <IfModule mod_authz_core.c>

           Require all granted

         </IfModule>

         <IfModule !mod_authz_core.c>

           Order allow,deny

           Allow from all

         </IfModule>

     </Directory>

</VirtualHost>

 

참고) Apache 설정 중 다음 항목이 있다면 삭제 후 재시작해야 합니다그렇지 않으면 웹메일에서 한글이 깨질 가능성이 있습니다.

AddDefaultCharset UTF-8

 

 

8.    Apache 알리아스 설정(선택 사항)

일반적인 경우처럼 http://mail.YourDomain.com 형태의 웹메일 주소를 사용할 경우에는 알리아스설정을 따로 잡아줄 필요가 없습니다.   하지만 가상호스트설정을 사용하지 않고 http://YourDomain.com/mail/ 형태로 사용하려면 알리아스설정을 이용하시면 됩니다.

Apache 웹서버의 설정파일인 httpd.conf 에서 기존 Alias 옵션 아래에 엔메일 관련 Alias 추가후 웹서버를 재시작하면 됩니다.

# 기존 Alias 설정

Alias /icons/ "C:/RWAPM/RTM20040531/icons/"

 

# 엔메일 Alias 설정(새로 추가해야할 부분)

Alias /mail "C:\NmailPHP\nmail"

<Directory "C:\NmailPHP\nmail">

         Options None

         AllowOverride All

         Order allow,deny

         Allow from all

</Directory>

 

9.    방화벽 설정 확인

서버 OS의 기본 방화벽이나 서버 앞 단에 방화벽이 있을 경우, 다음 포트들을 오픈 해주셔야 합니다.

     TCP 25 메일 송수신용 (필수)

     TCP 80 웹메일 접속용

     TCP 110 아웃룩 등의 메일 클라이언트에서 메일 받기시 사용됨.

     TCP 587 아웃룩 등의 메일 클라이언트에서 메일 보내기시 사용됨.

* 메일 클라이언트에서 25 포트에 접근하는 것도 가능한, 일부 무선/해외 인터넷에서 25 포트가 차단된 경우에 사용됩니다.   이때 메일 클라이언트의 설정에서 SMTP 포트를 25에서 587 로 변경해서 보내기가 가능합니다.

     TCP 995 아웃룩 등의 메일 클라이언트에서 암호화된 메일 받기시 사용됨(TLS 통신).

 

 

10. 웹메일 접속

웹브라우저에서 설치한 주소( http://mail.YourDomain.com ) 로 접속하시면 됩니다.  [서버관리자]계정은 아이디는 postmaster 이며, 비밀번호는 설치시 입력한 비밀번호입니다.

 

11. 멀티 도메인, 회원 추가

멀티 도메인은 서버관리자 postmaster 로 로그인후 [메일서버관리 - 도메인관리]에서 추가할 수 있으며 메일계정도 [메일서버관리 - 회원관리]에서 추가할 수 있습니다멀티 도메인의 경우 사용자가 접속한 웹페이지 주소(http://)에 따라 구분하여 엔메일 내부에서 자동 인식됩니다.

 

멀티 도메인 추가 작업 순서)

a.  웹메일 [메일서버관리]에서 도메인 및 회원 추가.

b.  아파치 웹서버 설정 확인.

- 앞서 설정해둔 가상호스트, 알리아스의 경우 모든 도메인에 적용되므로 따로 작업   하실 필요가 없습니다.

c.  도메인의 DNS 서버에서 MX 레코드의 IP 를 메일서버로 변경.

 

12. TLS 통신을 위해 SSL 인증서 발급 적용 방법

a.   Openssl을 이용하여 개인키 생성.

OpensslC:\NmailPHP\MailRoot\bin 폴더 안에 있습니다.

openssl genrsa 2048 > server.key

b.   CSR(Certificate Signing Request) 생성.

openssl req -new -key server.key -out cert.csr -config openssl.cnf

 

Country Name (2 letter code) [AU]: (국가코드)

State or Province Name (full name) [Some-State]: ()

Locality Name (eg, city) []: (, )

Organization Name (eg, company) [Internet Widgits Pty Ltd]: (기관명)

Organizational Unit Name (eg, section) []: (조직명)

Common Name (eg, YOUR name) []: (도메인명)

Email Address []: (이메일)

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []: (입력하지 않고 Enter)

An optional company name []:(입력하지 않고 Enter)

c.   인증서 발급 신청.

- SSL 인증서를 판매하는 기관에 신청

d.   발급받은 인증서와 개인키 파일을 C:\NmailPHP\MailRoot에 복사합니다.

- 개인키 : server.key

- 인증서 : server.cert

e.   MailRoot server.tab 에서 아래 옵션을 변경합니다.

"EnableSMTP-TLS"        "0"

"EnablePOP3-TLS"        "0"

=>

"EnableSMTP-TLS"        "1"

"EnablePOP3-TLS"        "1"

f.   만약 개인키에 비밀번호가 걸려있을 경우에는 메일 엔진이 시작되지 않습니다. 아래와 같이 비밀번호를 해제해야 합니다.

openssl rsa -in server.key -out ssl_nopass.key

Enter pass phrase for server.key: 비밀번호 입력

g.   Xmail 서비스 재시작

 

 

 

 

III.         메일서버 관리 안내

 

 

 

※ 메일서버 관리에 필요한 도움말을 정리해놓았습니다설치하신 웹메일의 [메일서버관리 >> 메일서버관리 FAQ]에 등록되어 있습니다아래 데모사이트에서 미리 확인해보실 수 도 있습니다.

 http://nm3.passkorea.net/help.php?id=SAFAQ

 

※ 목차 미리보기

메일서버 시작과 종료, 사용 포트(방화벽설정)
메일서버 설정 안내
멀티도메인 추가 안내
데이타 백업 안내
SMTP RELAY(외부 메일발송 권한) 설정

편지쓰기시 최대 첨부파일 용량 조절 안내
메일클라이언트(아웃룩 등)사용시 인증방법에 대한 안내

메일 파일과 디비의 동기화 안내
방화벽 사용시 유의사항
서버 이전시 유의사항
디비에 저장된 데이타를 임의로 수정하고자 할때의 유의사항


 

 

 

IV.        POP3(아웃룩 ) 이용안내

 

 

 

아웃룩 등의 메일클라이언트에서 메일을 보내고 받기 위한 사용방법 및 문제 발생시 해결책을 정리해놓았습니다. 설치하신 웹메일의 [POP3 이용안내]에 등록되어 있습니다아래 데모사이트에서 미리 확인해보실 수 도 있습니다.

http://nm3.passkorea.net/help.php?id=POP3

 

※ 목차 미리보기

1. POP3/SMTP 설정방법 안내.

2. 설정방법 따라하기 - Office Outlook

3. 설정방법 따라하기 - Outlook Express

4. 아웃룩 등의 메일 프로그램과 웹메일을 동시에 사용할 경우의 유의사항.

5. 아웃룩 등의 메일 프로그램만 사용할 경우의 메일 용량 초과 가능성.


 

 

 

V.  리턴메일 분석 안내

 

 

 

※ 메일 송수신과정에서 발생하는 리턴메일(송수신 에러에 대한 메세지)에 대해 에러별로 원인 및해결책을 정리해놓았습니다. 설치하신 웹메일의 상단메뉴중 [리턴메일 분석]에 등록되어 있습니다아래 데모사이트에서 미리 확인해보실 수 도 있습니다.

http://nm3.passkorea.net/help.php?id=RETURNMAIL

 

※ 목차 미리보기

일시적인 전송 실패
    - 417 Temporary delivery error
    - The maximum number of delivery attempts has been reached
    - End of socket stream data
    - Invalid server address
    - Bad server response
받는사람이 존재하지 않는 경우
    - 550 User unknown
    - 550 Mailbox unavailable
    - 550 5.1.1 No such user
    - 554 delivery error: dd This user doesn't have a yahoo.co.kr account (userid@domain.com) [-5] - mta114.mail.krs.yahoo.com
받는사람이 사용중지된 경우
    - 550 Account disabled
    - 550 5.1.1 Inactive mbox
    - 550 5.1.1 Suspended user
    - 554 delivery error: dd Sorry your message to userid@domain.com cannot be delivered. This account has been disabled or discontinued [#102]. - mta115.mail.krs.yahoo.com
받는사람의 메일용량이 초과된 경우
    - 552 Requested mail action aborted: exceeded storage allocation - <userid@domain.com>
    - The recipient's mailbox is full
받는사람의 스팸설정(수신거부) 의해 차단된 경우
    - 550 You are registered as spammer (by user's reject list)
    - 554 5.0.0 Service unavailable (userid: mail is denied, by spam filter)
메일발송권한이 없거나 상대방 메일서버 설정 문제
    - 550 Relay denied
    - 554 Relay operation rejected
    - 550 5.7.1 Unable to relay for userid@domain.com
대량 메일 발송으로 인해 대형포털로부터 IP 차단된 경우
    - 550 5.7.1 <userid@domain.com>... Error.your access was denied.? Since you sent too many e-mails,you are not allowed to send more e-mails within 24 hours.After 24 hours,you can send e-mails as usual.If you did not send any e-mails,which is considered as a spam,you'd better register
    - 421 4.3.2 Your IP(111.112.113.114) is filtered and this connection will be closed. You must register your IP to http://realip.naver.com
    - 421 4.3.1 You send too many messages.
    - 5.1.0 - Unknown address error 550-'Transaction failed. (SPAM_SUSPECT:IP_CONTROL) (http://cleanip.paran.com)'
    - 451 mta113.mail.krs.yahoo.com Resources temporarily unavailable.
Please try again later [#4.16.5].
RBL 의해 차단된 경우
    - 421 4.3.2 Your ip is filtered by RBL (http://realip.naver.com/rbl/rblinfo.html)(IP:111.112.113.114)(Caues:http://dsbl.org/listing?111.112.113.114)
    - 553 5.3.0 ... Rejected - see http://www.mail-abuse.org/rbl/
    - 553-mail rejected because your IP is in DUL. See http://www.mail-abuse.com/enduserinfo.html
상대방 메일서버에서 스팸으로 인식해서 차단된 경우
    - 553 Blocked for spam
    - 550 5.5.0 Your message was rejected.
상대방 메일서버에서 바이러스로 인식해서 차단된 경우
    - 550 Virus in your mail!!!
첨부파일에 실행파일을 첨부할 없는 경우 - 구글
    - 552 5.7.0 Illegal Attachment 36si248323nzk+I9:I15
받는사람과 보낸사람에 문제가 있어 리턴메일이 반복되는 경우
    - Mail loop detected
받는 메일서버에서 허용하는 최대메일크기를 초과한 경우
    - Message size excedes the server limit