22
Par Avion Air Mail A I R M A I L Mail Server in Linux LAN3 강강강 1c

Lan3 강향리 2013 겨울방학 기말아웃풋

Embed Size (px)

Citation preview

Par Avion

Air MailA I R

MA I L

Mail Server in LinuxLAN3 강향리

1c

목차 개발 동기 개발 환경 개발 과정 DEMO 문제점 및 개선 방향 참고자료 Q&A

Par Avion

Air MailA I R

MA I L

개발 동기

1c

메일 서버를 구축함과 동시에 리눅스 공부를 할 수 있다 .

php 의 mail() 함수를 사용하여 웹 서버에 올린 페이지에서 메일을 보내고 받을 수 있는 폼을 만들 수 있다 .

Par Avion

Air MailA I R

MA I L

개발 환경

1c

CentOS 6.3 Vmware workstation 10 Sendmail 8.14.4 Dovecot 2.0.9 Mysql 5.1 php 5.3 Apache 2.2 Roundcube webmail 0.9.5

Par Avion

Air MailA I R

MA I L

개발 과정

1c

문제점 해결 과정 오류 내용

sendmail 을 통해 터미널 창 내에서 메일을 보내는 것은 되었으나 받는 메일 불가

roundcube webmail 에 로 그 인 오류

php 의 mail() 함수 사용 불가

문제점 해결 과정 오류 수정

CentOS 재설치 및 네트워크 설정 Apache mysql php 설치 후 mysql 관련 권한 설정 # chown –R root /usr/bin/

# chgrp –R mysql /usr/bin/

# chown –R mysql /var/lib/mysql/ php 설정 # vi /etc/httpd/conf.d/php.conf

AddHandler php5-script .php .htm .html

AddType application/x-httpd-php-source .phps .php .htm .html

문제점 해결 과정 오류 수정

/sbin/nologin 에 계정 추가 후 dovecot 권한 설정

# chown root:kanghl /var/run/dovecot

# chown root:kanghlnull/var/run/dove

cot/login

# chmod 750 –R /var/run/dovecot/login Roundcube webmail 경로 설정 /usr/share/web 에 hyangrimail 이름으로 압축 풀기 # vi /etc/httpd/conf/httpd.conf 에 경 로

설정 추가

문제점 해결 과정 오류 수정

roundcube webmail 인스톨 완료http://khr.bment.net/hyangrimail 로 그 인 성공 후 오류 발생

logs temp 소유 및 권한 설정을 변경 # chown –R kanghl:80 /usr/share

/roundcube/roundcubemail

# cd /usr/share/roundcube/roundcu

bemail

# chmod 777 logs temp

개발 진행 메일 보내기 테스트 (smtp)

개발 진행 메일 받기 테스트 (imap)

개발 진행 php 를 이용한 문의 메일 폼 만들기

ask.html 코드<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hyangri blog</title> <link rel="stylesheet" type="text/css" href="style.css" /></head><body> <h2>Mail to Hyangri</h2> <p> 관리자에게 문의 및 요청 사항을 아래에 내용을 작성하여 보내주시기 바랍니다 .<br />빠른 시일 내에 처리하도록 노력하겠습니다 .</p> <form method="post" action="http://khr.bment.net/hyangriblog/ask.php"> <label for="name"> 이름 :</label> <input type="text" id="name" name="name" /><br /> <label for="youremail"> 이메일 :</label> <input type="text" id="youremail" name="youremail" /><br /> <label for="phone"> 연락처 :</label> <input type="text" id="phone" name="phone" /><br /> <label for="agree">sms 답변 수신 :</label> 동의함 <input id="agree" name="agree" type="radio" value=" 동의함 " /> 동의안함 <input id="agree" name="agree" type="radio" value=" 동의안함 " /><br /><br /> <label for="other"> 문의 내용 <br /><br /><br /></label> <textarea id="other" name="other"></textarea><br /> <img src="fang.jpg" width="400" height="298" alt="My abducted dog Fang." /><br /><br /><input type="submit" value=" 보내기 " name="submit" /> </form></body></html>

개발 진행 php 를 이용한 문의 메일 폼 만들기

ask.php 코드<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hyangri blog</title></head><body> <h2> 문의 메일 발송이 완료되었습니다 . 감사합니다 </h2><?php $name = $_POST['name']; $email = $_POST['youremail']; $phone = $_POST['phone']; $agree = $_POST['agree']; $other = $_POST['other']; $to = '[email protected]'; $subject = ' 관리자 문의 메일 '; $msg = " 이름 : $name\n\n" . " 이메일 : $email\n\n" . " 연락처 : $phone\n\n" . "sms 수신 : $agree\n\n" . " 내용 : $other"; $mail_sent=@mail($to,'=?UTF-8?B?'.base64_encode($subject).'?=', $msg, 'From:'. $email); echo ' 이름 : '.$name.'<br />'; echo ' 이메일 : '.$email.'<br />'; echo ' 연락처 : ' . $phone . '<br />'; echo 'sms 답변 수신 : ' . $agree . '<br />'; echo ' 내용 : ' . $other . '<br />';?>

</body></html>

Par Avion

Air MailA I R

MA I L

DEMO

1c

라운드큐브 웹메일 접속http://khr.bment.net/hyangrimail

블로그 ( 가상 ) 관리자 문의 메일 페이지 접속http://khr.bment.net/hyangriblog/ask.html [email protected] 로 작성한 내용이 전송 됨

Par Avion

Air MailA I R

MA I L

문제점 및 개선 방향

1c

문제점

메일을 보내는 기본적인 폼으로 이루어져 있어 웹 페이지가 너무 단순하다 .

roundcube webmail 에 각종 유용한 플러그인을 설정 하지 않았다 . ( 스팸메일 필터 등 )

개선 방향

html 과 php 를 좀 더 공부하여 목적에 맞는 웹사이트를 만든다 .

Mark as Junk 2 와 같은 스팸 필터 플러그인을 설치하여 메일 보안 기능을 좀더 개선 시킨다 .

Par Avion

Air MailA I R

MA I L

참고자료

1c

SENDMAIL SERVICE.doc, 이진선 , ㈜ 인터넷제국 기술본부 서버 운영팀 .

2012 SMTP.ppt, SMTP(Simple Mail Transport Protocol)-bse.inje.ac.kr, 의용공학과 .

http://scotchblue.blogspot.kr/2011/04/centos-56-sendmail.html

http://www.koreaidc.com/bbs/set_view.php?b_name=idcpds&w_no=111

http://porcoserver.com/porco_bbs_linux/601

http://system.neulwon.com/linux_mail/1035

http://jo.centis1504.net/?p=1324, imap 관련팁 .

VMware 에 CentOS 설치를 위한 설정하기 .doc (http://blog.naver.com/virus127/150029696116)

Head First PHP&MySQL, 린 베일리 외 , 한빛미디어㈜ , p40-92.

Par Avion

Air MailA I R

MA I L

Q&A

1c