우분투 에서 smtp 설정
2012.08.27 16:37
우분투 에서 smtp 설정
우분투 10.10 에서 smtp 설정
php공부를 하다보니 메일 서버 설정하는게 나오더군요..
리눅스는 처음 사용하는 거라.. 한참동안 구글링을 하면서
헤매었습니다.
sendmail,postfix라는것도 있었습니다만 복잡했습니다.
그러다나 ssmtp 라는 것을 이용하면 설정도 간단하다고 하더군요.
이것은 우분투에서 다른 메일서버(여기서는 구글 smtp 서버이용)통해서
메일을 보내게 하는 거랍니다.
이것의 재미있는 점은 우분투 콘솔이나 php를 통해서 메일을 보내지만
마치 gmail을 통해서 메일을 보내는 것처럼 나온다는 것이죠
(국내 메일들은 gmail은 거의 허용하기 떄문에 내 pc를 서버로 생각하고
직접 처럼 쓰는 효과를 볼수 있다고 합니다. 정확한것은 더 공부를 해봐야할듯.)
1. smtp 서버 잡기
apt-get install ssmtp
- ssmtp를설치하는 명령어(apt-et install 이 설치 명령) 인거 보니 우분투내에 있는 이 프로그램을
설치해야 하나 봅니다. 콘솔 명령으로 입력합니다.
뭐라뭐라 진행이 되고..
2. 이제 ssmtp의 내용을 봅니다.
cat /etc/ssmtp/ssmpt.cont
리눅스는 윈도우와 달리 설치 디렉토리를 바꾸거나 하는 화면이 없더군요.
사실 좀 답답합니다. 전 윈도우쓸때도 프로그램들은 제가 원하던 곳에 설치하곤 했는데..
암튼 리눅스가 이러는 이유는 있겠지요.
암튼 cat 명령어는 파일의 내용을 보게해주는 명령어 입니다.
3. 다음과 같은 내용이 나옵니다.
_______________________________________________
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=mckwon79@gmail.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=moonpc-GA-MA74GM-S2H
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
________________________________________________________
<참고 : 파일내용 수정시에 전 직접 위에 폴더
내컴퓨터 - 파일 시스템 - etc 폴더/ssmpt 폴더로 직접 들어가서 파일을 열고 수정했습니다.
우분투는 gedit 란것을 에디트할때 (윈도우즈의 메모장비슷)쓰게 되더군요.
근데 수정 권한이 없다고 읽기 모드로만 나오더군요.
검색해보니 콘솔창에서 sudo gedit 하면 gedit창이 새로 열리는데. 그 창이 권한이 풀린거더군요.
전 그냥 수정할 파일 드래그 해서 끌어서 수정하고 저장했답니다..
아직 어색하고 어려운 우분투네요 ㅠㅠ
>
일단 위에부터 보면
root = 메일주소 => 이것은 자신이 이용할 메일 주소를 쓰면 됩니다.
mailhub = smtp 서버 주소 => 사용할 smtp 서버 주소를 쓰시면됩니다. 전 gmail 이라
smtp.gmail.com 으로 등록
#rewriteDomain= => #붙은것은 주석처리이기 떄문에 활성화 하실려면 앞에 #지우시면 됩니다.
이것은 원래 메일주소가 아니라 다른 곳에서 보내는 것처럼 만들수 있
는데 많이 쓰인다네요. (메일은 전송될떄 메일 헤더라는 것이 덧붙어져서
전송되는데, 그 옵션을 조작하는 거랍니다.)
그러나 비인증 smtp 서버에서만 사용가능하므로 야후,구글등의 smtp쓰실려면
그낭 두셔도 된다고 합니다.
hostname=이름 => 저의 컴퓨터 이름이 들어가있군요. 별 의미는 없네요.
제 컴퓨터 이름은... 보드 모델이 들어가있네요.. 우분투 설치시 알아서 설정된 ㅠ
gmail의 smtp 서버를 이용하기 위해서는 다음과 같이 해야 한다고 합니다.
root=youraccount@gmail.com 자신의 메일주소)
mailhub=smtp.gmail.com:587 (gmail 위한 smtp 서버 설정)
rewriteDomain=
hostname=youraccount@gmail.com (당신의 호스트 이름입니다.)
UseSTARTTLS=YES (전 이 부분이 없어서 추가했습니다.)
AuthUser=youraccount (전 이 부분이 없어서 추가했습니다.)
AuthPass=yourpasword (전 이 부분이 없어서 추가했습니다.)
FromLineOverride=YES
4. php 에서 mail() 명령을 쓰기위해서 환경 설정
apache2 서버의 php.ini 라는 것을 변경해야한다고 하더군요.
php.ini는 내컴퓨터,파일시스템에서
/etc/php5/apache2 로 가면 있더군요.
에디트를 위해서 역시 콘솔에서 sudo gedit 하셔서 편집해서 저장.
그리고 웹서버를 다시시작해야한다고 합니다.
재시작법은 콘솔에서
sudo /etc/init.d/apache2 restart 라고 하시면 된다고 합니다.
참고로 아파치 서버의 가동과 중단 명령은
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop
5. gmail 설정
gmail 에서 환경설정으로 가서 pop3 활성화를 시켜야 된다고 하니 참고하세요
6. 콜솔화면에서 메일 보내기
다음 명령을 치면 됩니다.
ssmtp -c etc/ssmtp/ssmtp.cont 보낼메일주소 보낼내용
입니다.
보낼 내용뒤에 CTRL+D 를 누르시면 콘솔창이 닫히고
메일이 바로 보내질겁니다.
ㅠㅠ. conf 에 설정된 자신의 gmail 계정으로는 보내니 메세지는 왔는데. 전송실패라고
나오는데..
이건 더 연구해봐야할듯...
<출처>
자세한것은 출처 참고하세요
http://ydhoney.egloos.com/1179866
http://www.iz4blue.net/tc/entry/ubuntu%EC%97%90%EC%84%9C-gmail-%EB%A1%9C-smtp-%EC%84%9C%EB%B2%84-%EC%9E%A1%EA%B8%B0
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.