티스토리 뷰
메일 방송 절차 (아래 순서로)
- 대부분 서버 관리자라면 2번째 SMTP 묶음에 해당할듯 함
MUA (Mail User Agent) : 클라이언트 메일 관리 ( 아웃룩, 기타 등등 프로그램들...) SMTP : MAS (Mail submission Agent) : MUA로 부터 메일 받음 SMTP : MTA (Mail Transfer Agent) MRA (Mail Retrieval Agent) : Remote 메일 서버로 부터 메일을 가져옴 |
[Sendmail]
SMTP (Simple Mail Transfer Protocol) 이용함
- /var/spool/mqueue
받은메일함
- /var/spool/mail
메일서버 ↔ 메일서버 (SMTP)
클라이언트 실제 메일 보는 사람 (아웃룩 익스프레스) ↔ 메일서버 (POP)
센드메일 패키지 찾아보기
rpm -qa | grep sendmail rpm -qa | grep dovecot |
패키지 없으면 센드메일 인스톨 하자!
- yum install dovecot
- yum -y install cyrus-sasl-md5 (인증을 위해 sasl 라이브러리 설치) ← 어디에 쓰는놈인지는 모르겠따 그냥 깐다.!
Sendmail 설정
아래 라인의 주석을 제거 (dnl제거)
- 52 lines : TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
- 53 lines : define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
- 116 lines : DAEMON_OPTIONS ('Port=smtp, Addr=0.0.0.0, Name=MTA') 수정
(127.0.0.1 → 0.0.0.0 수정, 모든 ip에서 사용가능)
- 123lines : DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea') 주석 해제
/etc/mail/sendmail.mc 파일을 새롭게 리빌드 (sendmail.cf 를 재생성)
- m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
요즘은 make -C /etc/mail 하면 변경내용이 설정파일에 적용이 된다네...
/etc/init.d/sendmail restart (정상적으로 재시작 되면 셋팅상 문제는 없을것이다)
포트 확인
0.0.0.0:25 : 모든 아이피에 대해서 25번 오픈되어 있으면 정상인듯...
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1935/sendmail: acce
프로세스 확인
root 2355 1 0 10:10 ? 00:00:00 sendmail: accepting connections
smmsp 2363 1 0 10:10 ? 00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
accepting 대신 시스템 부하시 rejecting 이라고 뜰수도 있다고 함
sendmail = 데몬 (25)
웹메일(143) 및 아웃룩(110) 운용 (Dovecot 110, 143)
네임서버 zonefile 에 대해 아래열 추가
- mail IN A XXX.XXX.30.229
vim /etc/mail/local-host-names
- 도메인 수신 설정 내가 원하는 도메인으로 들어온 메일만 받게끔...(자기 도메인 적어주면 되는듯) - mail.kensei.co.kr 라인추가 |
vim /etc/mail/sendmail.cf 수정
- Cwlocalhost → Cwkensei.co.kr - O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA → O DaemonPortOptions=Port=smtp,Name=MTA - #O MaxMessageSize=0 기본은 주석처리 되어 있어서 제한이 없지만 주석해제 하고 용량을 제한가능하다. |
메일 사이즈 제한되어 있을때 로그 메세지
Jul 23 14:51:09 localhost sendmail[7118]: o6N5p9xV007118: message size (2079) exceeds maximum (100)
SYSERR(root): savemail: cannot save rejected email anywhere
외부에서 내부로 발송시
Jul 23 15:05:39 localhost sendmail[7263]: o6N65dwi007263: --- 250-SIZE 100
Jul 23 15:05:39 localhost sendmail[7263]: o6N65dwi007263: --- 552 5.2.3 Message size exceeds fixed
maximum message size (100)
vim /etc/mail/access 아래라인 추가
원격지에서 Outlook 및 thunderbird 등과 같이 원격에서 메일 보낼 경우 해당 원격지 아이피도 RELAY 에 명시해준다.
- kensei.co.kr RELAY - XXX.XXX.30.229 RELAY |
아래 부분은 불량유저 메일 수발신 차단이라나? access 라인밑에 추가해주면 되는듯?
- To:baduser@ ERROR:550 Mailbox disabled for badlocaluser
- From:baduser@ ERROR:"550 We don't accept mail from spammers"
위 옵션이 먹을려면 /etc/mail/sendmail.mc
- FEATURE(`blacklist_recipients') 주석해제 되어 있으면 되는듯? |
적용)
makemap hash /etc/mail/access.db < /etc/mail/access
vim /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
listen = [::]
login_executable = /usr/libexec/dovecot/pop3-login/
login_executable = /usr/libexec/dovecot/imap-login
login_user = dovecot
auth_executable = /usr/libexec/dovecot/dovecot-auth
vim /etc/sysconfig/sendmail
- QUEUE=1h 이 옵션은 큐에 쌓인 메일을 얼마후 다시 보낼지 옵션 디폴트는 1시간, 15분 - 30분 정도면 적당. - Timeout.queuereturn=5d 5일간 메일 보낼려고 5일간 시도 하게 함 - Timeout.queuewarn=4h 발송 실패의 경우 경고 메일 4시간후에 보내겠다는 옵션. |
커맨드로 메일 보내기
[제목]
[내용]
.
example)
mail from: norelay@xxxco.kr rcpt to: grateful-days@daum.net data hello, sendmail test. . 250 2.0.0 t1P2MrX0029423 Message accepted for delivery quit |
mail 계정 생성
useradd -M -s /bin/false takakocap
- 홈디렉토리 생성 X, 로긴을 허용하지만 shell and ssh terminal (그냥 메일만 쓸려는 계정을 만들때 유용할듯)
메일 계정 패스워드 설정
passwd takakocap
Sendmail 송신 테스트
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.14.3/8.14.3; Tue, 6 Apr 2010 12:53:15 +0900
MAIL From: takakocap@kensei.co.kr
250 2.1.0 takakocap@kensei.co.kr... Sender ok
RCPT To: kimjinhyun@hotmail.com
250 2.1.5 kimjinhyun@hotmail.com... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Hi This mail is Test MAIL
.
250 2.0.0 o363rFKA008376 Message accepted for delivery
QUIT
221 2.0.0 localhost.localdomain closing connection
Connection closed by foreign host.
pop3 테스트
[root@localhost mail]# telnet localhost 110 Trying ::1... Connected to localhost (::1). Escape character is '^]'. +OK Dovecot ready. user takakocap +OK pass [PASSWORD] 입력 Connection closed by foreign host. |
아래 데몬이 모두 실행되면 메일 송수신이 잘 될것이다.~~
/etc/init.d/sendmail start
/etc/init.d/dovecot start
/etc/init.d/saslauthd start
메일 송신
로컬에서 내부 도메인 발송 및 외부 도메인 발송관련
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
외부에서 내부 도메인 발송
- 외부아이피나 도메인이 차단되지 않은 이상 수신
외부에서 외부 도메인 발송
- 인증을 통해 릴레이 허용하도록 설정
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
수신계정 버추얼 계정 (계정이 여러개의 경우인듯)
- 도메인에 따라 다른 계정으로 받고자 할때
useradd takakocap1
useradd takakocap2
수신 계정 Alias 처리
cat /etc/aliases
takakocap1 과 takakocap2 로 온메일을 takakocap 계정이 처리
takakocap2 : takakocap
스팸필터 기능
http://www.kisarbl.or.kr/
vim /etc/mail/sendmail.mc
- FEATURE(`dnsbl', `spamlist.or.kr', `"Rejected - KISA-RBL - see http://www.kisarbl.or.kr"')dnl 라인 추가
KISA 에서 제공하는 rbl을 이용하는 방법이라나??
SpamAssassin
- 메일필터 혹은 메일 분석기??
[root@localhost ~]# yum install spamassassin
[root@localhost ~]# /usr/bin/sa-update
[root@localhost ~]# /etc/init.d/spamassassin start
개별 적용을 위해서는 ~/.procmailrc 에 아래 내용을 추가하시면 됩니다
- INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc
전역적용을 위해서는 아래와 같이 하시면 됩니다.
- cp procmailrc.example /etc/procmailrc
SPF 설정
다람쥐메일 셋팅
squirrelmail 관련 디렉토리 및 파일 소유권을 apache 사용자 및 그룹으로 지정
yum -y install squirrelmail
chown apache.apache -R /usr/share/squirrelmail/
chown apache.apache -R /etc/squirrelmail/config.php
chown apache.apache -R /var/lib/squirrelmail/
chown apache.apache -R /var/spool/squirrelmail
다람쥐 웹 메일 설정
/usr/share/squirrelmail/config/conf.pl
2 → 1 → 도메인 입력 (kensei.co.kr)
A → 4 → IMAP Server 설정 (mail.kensei.co.kr)
8 → Server Software 설정 (other)
s (저장) → r (메인메뉴)
10 → 1 → 기본언어 설정 (ko_KR)
2 → Default Charset (euc-kr)
s (저장) → r (메인메뉴) → Q (나가기)
vim /usr/local/apache/conf/httpd.conf 아래열 맨 위에 추가
Alias /webmail/ /usr/share/squirrelmail/
$data_dir = '/var/lib/squirrelmail/prefs/';
$attachment_dir = '/var/spool/squirrelmail/attach/';
chmod -R 0770 /var/lib/squirrelmail/prefs/
chmod -R 0730 /var/spool/squirrelmail/attach/
아래는 김삼수님의 sendmail + 버추얼 도메인 셋팅 ( 아마 한 서버에 여러개 이상의 도메인을 가진 메일 서버 셋팅)
'Mail' 카테고리의 다른 글
네이버 메일 주소 @naver.co.kr 메일 발송되지 않음 (0) | 2019.04.18 |
---|---|
maillog (0) | 2019.04.01 |
KISA 화이트 도메인 (white domain ) 등록 (0) | 2016.08.25 |
스팸메일 (해외쪽) (0) | 2015.07.21 |
- Total
- Today
- Yesterday
- yum
- centOS7
- gitlab
- mariadb
- NGINX
- WAF
- virtualbox
- SSL
- iptables
- GeoIP
- ntp
- IPSEC
- glusterfs
- L2TP
- cURL
- ssh
- 베이어다이나믹
- galera
- 리눅스
- Apache
- mod_security
- OpenVPN
- MySQL
- HAProxy
- 인증서
- kvm
- centos8
- pptp
- php
- softether
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |