본문 바로가기
PYTHON(파이썬)/파이썬 활용

python으로 간단하게 e-mail 보내기

by eplus 2024. 11. 13.

다음 소스를 참조해서 정확한 mail주소와 gmail 암호를 입력하면 됩니다.

import smtplib
from email.mime.text import MIMEText
import os

def sendMail(me, you, msg):
    try:
        smtp = smtplib.SMTP_SSL('smtp.gmail.com', 465)
        smtp.login(me, os.getenv('EMAIL_PASSWORD'))  # 환경 변수에서 비밀번호 가져오기
        message = MIMEText(msg)
        message['Subject'] = 'TEST'
        message['From'] = me
        message['To'] = you
        
        smtp.sendmail(me, you, message.as_string())
        smtp.quit()
    except Exception as e:
        print(f"Error occurred: {e}")

if __name__ == "__main__":
    sendMail('g@gmail.com', 'g@erpplus.co.kr', '메일보내기')

 

1. 주요 IMPORT

  • smtplib: SMTP(Simple Mail Transfer Protocol)를 사용하여 이메일을 전송하는 것입니다.
  • MIMEText, MIMEImage, MIMEMultipart: 이메일 콘텐츠를 구성할 때 사용되는 MIME(Multi Purpose Internet Mail Extensions) 클래스로, 텍스트, 이미지, 복합 문자를 다뤄요.

2. 작동 정의:sendMail(me, you, msg)

  • 위치:
    • me: 발신자의 이메일 주소입니다.
    • you: 수신자의 이메일 주소입니다.
    • msg: 응답 내용입니다.

2.1. SMTP가 생성 및 로그인됩니다.

  • smtp = smtplib.SMTP_SSL('smtp.gmail.com', 465): Gmail의 SMTP 서버를 SSL 연결을 실행합니다. 포트 번호는 465입니다.
  • smtp.login(me, ''xxxxxx): 발신자의 이메일 주소와 포스틱을 로그인합니다.

2.2. 파일 생성

  • msg = MIMEText(msg): 전달된 텍스트( msg)를 MIME 문자로 생성합니다.
  • msg['Subject'] = 'TEST': 이메일의 제목(Subject)을 'TEST'로 설정합니다.

2.3. 이메일 전송

  • smtp.sendmail(me, you, msg.as_string()): 발신자 이메일 주소, 수신자 이메일 주소, 그리고 현재 내용을 문자열로 변환해 전송합니다.
  • smtp.quit(): SMTP 서버와의 연결을 종료합니다.

3. 메인 블록

  • if __name__ == "__main__":스크립트를 통해 파일을 직접 실행하여 sendMail()호출을 호출합니다.
  • sendMail('g@gmail.com', 'g@erpplus.co.kr', '메일보내기'): 발신자와 수신자 정보를 수신하고 메시지로 '메일 전송기'를 설정하여 호스트를 호출합니다.
728x90
반응형