반응형
sendmail.py 는 시스템 운영 중에 이메일 알림, 경보 등의 목적으로 만든 모듈입니다.
해당 모듈은 자유롭게 사용하셔도 됩니다.
sendmail.py 소스입니다.
# -*- coding: utf-8 -*-
# Python 3.8.2
# **************************************************************************************
#
# brief Send Email
#
# file sendmail.py
# date 2020.05.14
# author ymshim
#
# **************************************************************************************
import smtplib
from email.mime.text import MIMEText
class SendEmail:
def __init__(self, senderEmailServer, senderEmail, senderPW):
try:
self.smtp = smtplib.SMTP(senderEmailServer, 587)
self.smtp.ehlo() # say Hello
self.smtp.starttls() # TLS 사용시 필요
self.smtp.login(senderEmail, senderPW)
except Exception as e:
print(e)
self.smtp = smtplib.SMTP(senderEmailServer, 587)
self.smtp.ehlo() # say Hello
# self.smtp.starttls() # TLS 사용시 필요
self.smtp.login(senderEmail, senderPW)
def MailSender(self, message, subject, senderEmail, targetEmail):
msg = MIMEText(message)
msg['Subject'] = subject
msg['To'] = targetEmail
self.smtp.sendmail(senderEmail, targetEmail, msg.as_string())
self.QuitSMTP()
def QuitSMTP(self):
self.smtp.quit()
if __name__ == "__main__":
print("*****************************************************")
print("* Send E-Mail")
print("*****************************************************")
TargetEmail = input('* Target E-Mail address : ')
SendCnt = int(input('* Mail Send Count : '))
SenderMailServer = input('* Your(Sender) E-Mail Server : ')
SenderEmail = input('* Your(Sender) E-Mail address : ')
SenderPW = input('* Your(Sender) E-Mail password : ')
Subject = input('* E-Mail subject : ')
Message = input('* E-Mail message : ')
print("*****************************************************")
print("* E-Mail Send")
print("*****************************************************")
SMail = SendEmail(SenderMailServer, SenderEmail, SenderPW)
SMail.MailSender(Message, Subject, SenderEmail, TargetEmail)
print("*****************************************************")
TestMailSend.py 소스 입니다.
Microsoft Office 365 계정을 통해 메일을 발송합니다.
SMTP 설정으로 'smtp.office365.com'을 사용하면 됩니다.
from sendmail import SendEmail
from datetime import datetime
if __name__ == '__main__':
# 발송 메일 설정
SenderMailServer = 'smtp.office365.com'
SenderEmail = 'admin@greensul.com'
SenderPW = input(SenderEmail+ '의 password 를 입력해주세요 :')
SMail = SendEmail(SenderMailServer, SenderEmail, SenderPW)
# 수신 메일 설정
TargetEmail = 'green@greensul.com'
# 메일 내용 설정
Subject = '[장애] System Service 장애 발생'
Message = datetime.today().strftime("%Y-%m-%d %H:%M:%S.%f") + '''
System Service 장애 발생
'''
SMail.MailSender(Message, Subject, SenderEmail, TargetEmail)
gmail 을 사용하기 위해서는 다음 포스팅을 참고 부탁드립니다.
[Python] Gmail 을 이용하여 메일 발송 시 Error 처리 - Gmail 앱 비밀번호 설정
감사합니다.
반응형
'IT > Python' 카테고리의 다른 글
[Python] Visual Studio Code(VS Code) 주석 처리 단축키 (0) | 2022.03.19 |
---|---|
[Python] pyinstaller 설치 및 간단한 사용 방법 - exe 실행 파일 만들기 (0) | 2020.11.20 |
[Python] Gmail 을 이용하여 메일 발송 시 Error 처리 - Gmail 앱 비밀번호 설정 (0) | 2020.05.15 |
[Python] E-Mail Send - Email Bomber Test (0) | 2020.05.14 |
[Python] Class 생성 - Log writer class 예제 (0) | 2020.05.08 |
댓글