Gmail for CentOS (http://www.jopenbusiness.com/mediawiki/index.php/CentOS)
CentOS 5.5 버전에서 sendmail을 사용하여 Gmail을 연동하여 보자.
- sendmail 설치
yum install openssl sendmail sendmail-cf yum install cyrus-sasl cyrus-sasl-plain
- sendmail이 TLS 또는 SSL을 지원하는지 확인 한다.
#--- STARTTLS와 SASLv2가 있는지 확인 sendmail -d0.1 -bv root
- SASL 2.1.21 이상을 지원하는지 확인 한다.
yum list | grep sasl
- OpenSSL을 사용하여 sendmail에서 사용할 개인키와 공개키를 생성를 생성 한다.
- sendmail 인증 정보를 생성 한다.
cd /etc/mail mkdir auth cd auth vi /etc/mail/auth/authinfo AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" ### AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" "M:PLAIN" ### AuthInfo:smtp.gmail.com:587 "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" "M:PLAIN" #---인증 파일의 hashdb(authinfo.db)를 생성 한다. makemap hash authinfo < authinfo #--- 인증파일경로의 퍼미션을 설정 한다. chmod 700 /etc/mail/auth chmod 600 /etc/mail/auth/*
- vi /etc/mail/sendmail.mc
include('/etc/mail/sasl/sasl.m4')dnl #--- Ubuntu Server에서만 추가 FEATURE(authinfo,hash /etc/mail/auth/authinfo)dnl define('SMART_HOST','smtp.gmail.com')dnl define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl define('confCACERT_PATH', '/etc/mail/certs')dnl define('confCACERT', '/etc/mail/certs/CAcert.pem')dnl define('confSERVER_CERT', '/etc/mail/certs/mycert.pem')dnl define('confSERVER_KEY', '/etc/mail/certs/mykey.pem')dnl define('confCLIENT_CERT', '/etc/mail/certs/mycert.pem')dnl define('confCLIENT_KEY', '/etc/mail/certs/mykey.pem')dnl define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') define('confAUTH_OPTIONS', 'A')dnl #--- 아래 라인 위에 추가 한다. MAILER(smtp)dnl
- sendmail.cf 생성
-
- CentOS
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf service sendmail restart
-
- Ubuntu Server
cd /etc/mail make #--- 필요한 경우 sendmail의 설정을 재 생성 한다. sendmailconfig /etc/init.d/sendmail start
- 최종 확인
echo '/map authinfo AuthInfo:smtp.gmail.com' | /usr/sbin/sendmail -bt echo "this is a test" | sendmail -s ghkim@daou.co.kr #--- ghkim@daou.co.kr 메일함에서 메일을 확인 한다.
- 방화벽에서 587, 465 port를 개방 한다.
system-config-securitylevel
- 기타 sendmail 설정
-
- Access 설정
makemap hash /etc/mail/access.db < /etc/mail/access
-
- Mail host 설정
vi /etc/mail/local-host-names
- showinfo_sendmail.bash
#!/bin/bash echo 'sendmail 버전 : sendmail 8.13.8' echo '환경 파일 : vi /etc/mail/sendmail.mc' echo '기동 종료 : service sendmail restart' echo '서비스 확인 : ps -ef | grep sendmail | grep -v grep'
- php.ini 설정
sendmail_path = /usr/sbin/sendmail -t
서비스 업체별 POP3, SMTP 주소
- gmail.com (환경설정 - 전달 및 POP/IMAP - POP 다운로드 항목에서 사용설정을 해야 이용 가능)
-
- IMAP: imap.gmail.com (SSL 사용, 포트: 993)
- POP3: pop.gmail.com (SSL 사용, 포트: 995)
- SMTP: smtp.gmail.com (SSL 사용, 포트: 465)
- hanmail.net
-
- POP3: pop.hanmail.net (SSL 사용, 포트: 995)
- SMTP: smtp.hanmail.net (SSL 사용, 포트: 465)
- nate.com
-
- POP3: nate.com (포트: 110)
- SMTP: 지원 안함 (다른 업체의 SMTP를 이용하는 수 밖에 없음)
- naver.com (으뜸사용자만 이용 가능)
-
- POP3: pop.naver.com (포트: 110)
- SMTP: smtp.naver.com (포트: 25)
- yahoo.co.kr
-
- POP3: pop.mail.yahoo.co.kr (SSL 사용, 포트: 995)
- SMTP: smtp.mail.yahoo.co.kr (SSL 사용, 포트: 465, 인증 사용)
- yahoo.com
-
- POP3: pop.mail.yahoo.com (SSL 사용, 포트: 995)
- SMTP: smtp.mail.yahoo.com (SSL 사용, 포트: 465, 인증 사용)
참고 문헌
- Ubuntu Server
- CentOS
Outlook 설정
- Microsoft Outlook를 실행하여 "도구 -> 계정 설정 -> 새로 만들기" 메뉴를 선택 합니다.
- "Microsoft Exchange, POP3, IMAP 또는 HTTP"을 선택 합니다.
- "수동으로 서버 설정 또는 추가 서버 유형 구성"을 선택 합니다.
- "인터넷 전자 메일"을 선택 합니다.
- 필요한 정보를 입력하고 "기타 설정" 버튼을 선택 합니다.
-
- 사용자 이름 : 사용자 이름
- 전자 메일 주소 : 이메일 주소
- 계정 유형 : IMAP
- 받는 메일 서버 : imap.gmail.com
- 보내는 메일 서버 : smtp.gmail.com
- 사용자 이름 : 이메일 주소
- 암호 : 비밀번호
- 암호 저장 체크
- "고급" 탭을 선택하여 아래와 같이 설정 합니다.
-
- 받는 메일 서버 : 993
- 암호화된 다음 연결 방식 사용 : SSL
- 보내는 메일 서버 : 25
- 암호화된 다음 연결 방식 사용 : TLS
- "보내는 메일 서버" 탭을 선택하여 아래와 같이 설정 합니다.
-
- "보내는 메일 서버 인증 필요" 체크
- "받는 메일 서버와 동일한 설정 사용" 선택
CentOS sendmail 메일 서버 설치, 설정 (http://blog.leadus.co.kr/119)
1) 메일 서버 설치 여부를 확인한다.
[root@localhost ~]# yum list |grep sendmail
sendmail.x86_64 8.13.8-8.el5 installed
sendmail-cf.x86_64 8.13.8-8.el5 installed
sendmail-devel.x86_64 8.13.8-8.el5 installed
2) dovecot 설치한다.
[root@localhost ~]# yum list |grep dovecot
dovecot.x86_64 1.0.7-7.el5 base
[root@localhost ~]# yum install dovecot.x86_64
dovecot의 개요
RHEL 4부터 사용되는 imap, pop3 서비스 제공 프로그램으로 기존의 imap
패키지에 비해 TLS/SSL을 지원하여 보안이 강화되었다. 또한 기존에는 imap, pop3
서비스가 inetd(xinetd)에 의해 작동하였지만, dovecot는 단독 데몬으로 작동한다.
참고로 관련정보는 http://www.dovecot.org에서 확인할 수 있다.
3) sendmail.mc 파일을 수정한다.
vi /etc/mail/sendmail.mc
아래의 부분을 확인한다. 주석처리되어 있으면 제거한다.
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
아래의 부분은 주석처리한다.
DAEMON_OPTIONS(`Port=smtp,Addr=112.169.173.161, Name=MTA')dnl
==> dnl DAEMON_OPTIONS(`Port=smtp,Addr=112.169.173.161, Name=MTA')dnl
4) sendmail.mc 적용
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
변경후 결과
-rw-r--r-- 1 root root 58368 6월 13 22:33 sendmail.cf
==> -rw-r--r-- 1 root root 58338 8월 31 16:33 sendmail.cf
5) 최종수신지 도메인 설정
vi /etc/mail/local-host-names
leadus.co.kr RELAY
test :
linkus.kr RELAY
*** 스팸방지
Spam 방지 ( /etc/mail/access )
linkus.kr RELAY
makemap hash /etc/mail/virtualusertable.db < /etc/mail/access <- access 적용 access.db 파일 생성
또는 /etc/mail 디렉토리에서 간단히 make
가상 메일 ( /etc/mail/virtualusertable )
webmaster@linkus.kr root
webmaster@linkus.kr 으로 오는 메일은 root 라는 실제계정이 받게 함
makemap hash /etc/mail/virtualusertable.db < /etc/mail/virtualusertable
또는 /etc/mail 디렉토리에서 간단히 make
6) Dovecot 설정
vi /etc/dovecot.conf
protocols = pop3 <- imap 제외 pop3 만 사용
listen = * <- ipv6 사용 안 하고 ipv4 만 사용 ==> php3_listen = * 버전업되면서 바뀌었다.
7) 서비스 시작
/etc/init.d/sendmail start
/etc/init.d/saslauthd start <- smtp 인증을 위해 필요
/etc/init.d/dovecot start
'Linux > CentOS' 카테고리의 다른 글
php.ini 설정법 (0) | 2012.04.10 |
---|---|
Apache,PHP,MySQL,Zend,OpenSSL,PEAR 설치 메모 (0) | 2012.04.09 |
DNS 설정 (0) | 2012.03.30 |
CentOS에서 rpm 데이터베이스 문제로 yum을 사용할 수 없을때 (0) | 2012.03.09 |
Install Clam AntiVirus to protect from virus (0) | 2012.03.09 |