리눅스 + 파이썬 이용해서 메일 보내는 방법이다.

 

- 우선 리눅스에서 아무이름으로 아래 내용처럼 .py파일을 만들어준다

#!/usr/bin/python
# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders


# 아이디 비밀번호 정보
email_from = '???@naver.com'		#보내는이 메일주소
email_to = '94.mogi@gmail.com'	#받는이 메일주소
naver_id ='????'					#네이버 아이디 입력
naver_pass = 'qwe123!@#'			#패스워드 입력

# 제목 입력
subject = '테스트 메일'

msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject

# 본문 내용 입력
body = '테스트 메일입니다.'
msg.attach(MIMEText(body,'plain'))

#첨부 파일 보내기
filename='aa.txt'		#첨부 파일 이름 이처럼 이름만쓰려면 같은 경로에 파일있어야됨 아니면 절대경로입력
attachment  =open(filename,'rb')

part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+filename)
msg.attach(part)


text = msg.as_string()
server = smtplib.SMTP('smtp.naver.com',587)		#네이버 smtp서버 지정
server.starttls()
server.login(naver_id,naver_pass)

server.sendmail(email_from,email_to,text)
server.quit()
~

 

- 아래 이미지를 보면 test.py 랑 aa.txt 파일이 있다 ./test.py 명령어를 통해 실행시켜주면 메일발송

- './파일이름' 방식으로 실행시키는데 권한이 없어서 안될수도 있다 그럴땐 'chmod +x 파일명' 명령어로 실행권한을 추가해준다

 

- 지메일 확인시 메일 도착한걸 확인할수 있다.

 

- 이후 crontab -e 명령어를 통해 아래와 같이 매일 오전 9시에 실행시키게 하면 매일 자동발송 가능

crontab -e
00 09 * * * ./tmp/test.py

 

 

 

혹시나 위와같이 했는데 메일이 전송 안된다면 네이버 메일에 smtp 허용이 되어 있는지 확인이 필요하다

네이버 메일 설정쪽에서 smtp 사용함으로 설정후 확인하면됨 아마 허용되있는게 디폴트값이였던것같다.

+ Recent posts