1. 먼저 방화벽에서 25번 포트를 열어준다.
[code]
$ firewall-cmd –zone=public –permanent –add-port=25/tcp
$ firewall-cmd –reload
[/code]
2. smtp 설치확인
[code]
$ rpm -qa |grep sendmail
[/code]
3. sendmail 설치
[code]
$ yum install -y sendmail sendmail-cf
[/code]
3. /etc/mail 로 이동
[code]
$ cd /etc/mail
[/code]
4. sendmail.mc 편집
$ vim sendmail.mc
주석해제(dnl)
[code]
1) 변경전 (52~53번째 줄)
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
2) 변경후
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
[/code]
5. sendmail.mc 를 기반으로 sendmail.cf 생성
[code]
$ m4 sendmail.mc > sendmail.cf
[/code]
6. sendmail 데몬 등록 및 시작시 등록
[code]
$ systemctl start sendmail
$ systemctl enable sendmail
[/code]
7. mailx 설치
[code]
$ yum -y install mailx
[/code]
8. 테스트
[code]
$ mail [email protected]
This is test
test
test
.
EOT
[/code]
※ 만약 php 로 보냈을때 아래와 같은 오류가 난다면 selinux 설정 때문이다.
ERROR: Failed to connect to server: Permission denied (13)
$ getsebool httpd_can_sendmail
httpd_can_sendmail –> off
$ getsebool httpd_can_network_connect
httpd_can_network_connect –> off
확인해 보면 off 로 되어 있다. on으로 활성화 해주자
$ setsebool -P httpd_can_sendmail 1
$ setsebool -P httpd_can_network_connect 1
끗.