티스토리 뷰

반응형

python send mail - 메일 전송 프로그램


이 프로그램이 필요하다고 생각된건 인터넷을 기가랜으로 바꾸기 전에는 집에 공인 IP 한 개만 들어와서 공유기가 꺼지지 않는 이상은 상관없었는데, 기가랜 모뎀이 생기면서 연결되는 PC, IPTV, VoIP, 무선공유기, Rasberry PI까지.. 모든 장치가 공인 IP를 받아온다.


문제는 PC나 Rasberry PI가 부팅 시마다 IP가 바뀌니 원격에서 붙기가 어려웠고, IP를 메일로 보내주는 프로그램을 생각했다.

다행히 윈도우 기반인 PC와 Linux 기반인 Rasberry PI 둘 다 Python이 먹히니 귀찮음은 덜었다.


우선, 메일을 보내기 위해서는 SMTP(Simple Mail Transfer Protocol) Server가 필요한데, 인터넷에서 간단한 SMTP 서버를 설치해도 괜찮고, 구글이나 네이버 등의 다른 SMTP를 써도 괜찮다. 다만, 이 프로그램 하나 돌리자고 SMTP Server까지 운영하면서 보안상 문제까지 떠안기는 싫어서보안 잘 하는 구글이나 네이버의 서버를 쓰기로 했다.


타 회사의 서버를 사용하기 위해서는 우선 본인 계정에서 smtp 사용 설정을 해줘야한다.

이후 작성할 python코드에 아래 정보를 입력해주면 된다.

smtp.naver.com / smtp.gmail.com

smtp 포트 : 465

ID/PW : 본인 네이버 계정


처음에는 간단히 smtplib와 email라이브러리를 이용해서 최소의 기능만 하는 프로그램을 작성했지만, 부팅 시간도 체크하기 위해 시간 관련 라이브러리를 추가해서 마무리했고 더 필요한 기능도 없어보인다.


메일 전송 결과 아래와 같이 정상적으로 전송되는 것을 확인 가능하다.



약간의 설명을 덧 붙이자면, sender에는 보내는 사람의 계정(smtp서버와 동일 계정), receiver에는 받을 계정이 들어가야하고

ID와 PW에는 보내는 사람 계정의 정보가 들어가야한다.


================

부팅 시 해당 프로그램이 실행되어야 하니 윈도우의 작업 스케줄러에 추가해주는 작업이 필요하다.

실행(Win+R) > taskschd.msc 혹은 제어판에서 작업 스케줄러를 실행한다.

좌측 메뉴 중 작업 스케줄러 라이브러리를 클릭 후 우측에서 작업 만들기로 새 작업을 만들어주면 된다.

트리거 탭에서 시작할 때 사용하는 옵션과, 동작 탭에서 실행될 프로그램만 지정해주면 간단히 끝난다.





반응형

'Development' 카테고리의 다른 글

python list 중복제거  (509) 2016.07.06
python requests unicode 출력 문제  (369) 2016.06.24
python raw_input() 개행없이 문자열 입력 받기  (403) 2016.06.19
python continue와 pass의 차이점  (525) 2016.06.19
Python os makedirs 사용 경로 생성  (258) 2016.06.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함
300x250