컴퓨터/Python

python email 비밀번호 class

풍경소리^^ 2023. 7. 13. 10:02
# mailpw.py--------------------
import smtplib

class Daum:
    PW = '비밀번호'


class Kakao:
    PW = '비밀번호'

class Naver:
    PW = '비밀번호'

class Gmail:
    PW = '비밀번호'
email.py--------------------
import smtplib
from email.mime.text import MIMEText
import mailpw

def sendMail(me, you, msg):
    try:
        if me == "kakao_id@kakao.com":
            smtp = smtplib.SMTP_SSL('smtp.kakao.com', 465)
            send_pwd = mailpw.Kakao.PW
        elif me == "daum_id@daum.net":
            smtp = smtplib.SMTP_SSL('smtp.daum.net', 465)
            send_pwd = mailpw.Daum.PW
        elif me == "naver_id@naver.com":
            smtp = smtplib.SMTP('smtp.naver.com', 587)
            smtp.starttls()
            send_pwd = mailpw.Naver.PW
        elif me == "gmail_id@gmail.com":
            smtp = smtplib.SMTP('smtp.gmail.com', 587)
            smtp.starttls()
            send_pwd = mailpw.Gmail.PW

        smtp.login(me, send_pwd)
        msg = MIMEText(msg)
        msg['Subject'] = '메일제목'
        msg['From'] = me
        msg['To'] = you
        smtp.sendmail(me, you, msg.as_string())
        smtp.quit()
        return print(you + " 메일을 성공적으로 보냈습니다.")
    except:
        return print(you + " 메일보내는데 실패하였습니다.")

if __name__ == "__main__":
    sendMail('kakao_id@kakao.com', 'outlook_id@outlook.kr', 'kakao 메일 본문내용')

##########

# mailpw.py--------------------
def pw(email):
    if email == "daum_id@daum.net":
        return "비밀번호"
    elif email == "kakao_id@kakao.com":
        return "비밀번호"
    elif email == "naver_id@naver.com":
        return "비밀번호"
    elif email == "gmail_id@gmail.com":
        return "비밀번호"
# email.py--------------------
import smtplib
from email.mime.text import MIMEText
import mailpw

def sendMail(send_email,send_pwd,recv_email,subject,text):
    mail_server = send_email.split(".")[0].split("@")[1]
    smtp_name = "smtp." + send_email.split("@")[1]
    try:
        if mail_server == "naver" or mail_server == "gmail":
            smtp_port = 587
            s=smtplib.SMTP( smtp_name , smtp_port )
            s.starttls()
        elif mail_server == "daum" or mail_server == "kakao":
            smtp_port = 465
            s=smtplib.SMTP_SSL( smtp_name , smtp_port )

        msg = MIMEText(text)
        msg['Subject'] = subject
        msg['From'] = send_email
        msg['To'] = recv_email

        # s=smtplib.SMTP_SSL( smtp_name , smtp_port )
        s=smtplib.SMTP( smtp_name , smtp_port )
        s.starttls()
        
        s.login( send_email , send_pwd )
        s.sendmail( send_email, recv_email, msg.as_string() )
        s.quit()
        return recv_email + " 메일을 성공적으로 보냈습니다."
    except:
        return recv_email + " 메일보내는데 실패하였습니다."

if __name__ == "__main__":
    send_email = "gmail_id@gmail.com"
    send_pwd = mailpw.pw(send_email)
    recv_email = "daum_id@daum.net"
    # mail_server = send_email.split(".")[0].split("@")[1]
    # subject = f"*{mail_server}*메일 제목 입니다."
    subject = "메일 제목 입니다."
    text = """ 메일 내용을 입력합니다.
    여러줄 입력하여도 됩니다.
    """
    print(sendMail(send_email,send_pwd,recv_email,subject,text))