파이썬/파이썬(python) 중급

[32-4 파이썬] 파이썬으로 생일 축하 메일 보내기

Olivia-BlackCherry 2022. 9. 25. 16:04

1. datetime 모듈 불러오기

from datetime import datetime
today = datetime.now()
today_tuple = (today.month, today.day)

 

2. pandas.read_csv(파일경로)

import pandas
data = pandas.read_csv("birthdays.csv")

 

3. iterrows() 한 줄씩 가져오기

new_dict = {(data_row['month'], data_row['day']): data_row for (index, data_row) in data.iterrows()}

 

4. if 조건문,

    random.randint(a, b)-> a~b 중 하나의 정수

import random
if today_tuple in new_dict:
    file_path = f"letter_templates/letter_{random.randint(1,3)}"

 

5. 파일열기 with~ as

with open(file_path) as letter:
    letter = letter.read()

 

6. replace(old, new) 대체하기

new_dict도 독특한 구조였다. 주의하자.

    old_name = "[NAME]"
    new_name = new_dict[today_tuple]["name"]
    letter.replace(old_name, new_name)

 

7. smtp 이메일 전송하기

import smtplib
from email.mime.text import MIMEText

email_add = "~~@naver.com"
password = "1234"

with smtplib.SMTP("smtp.naver.com", port=587) as connection:
    connection.starttls()
    connection.login(user="email_add", password='password')
    msg = MIMEText(letter)
    msg['From'] = email_add
    msg['Subject'] = '제목: 생일 축하해'
    msg['To'] = "oliviacodingschool@gmail.com"

    connection.sendmail(from_addr=email_add,
                        to_addrs="oliviacodingschool@gmail.com",
                        msg=msg.as_string())