Guidelines

이메일 업무 μžλ™ν™”κ°€ μ™œ ν•„μš”ν• κΉŒμš”?

업무λ₯Ό ν•˜λ‹€λ³΄λ©΄ λ™μΌν•œ λ‚΄μš©μ˜ 이메일을 μ΄λ¦„λ§Œ λ°”κΏ”κ°€λ©° μ—¬λŸ¬ λͺ…μ—κ²Œ 보내야 ν•˜κ±°λ‚˜, μ™ΈλΆ€μ—μ„œ μˆ˜μ§‘ν•œ 데이터λ₯Ό ν•„μš”ν•œ λŒ€μƒμ—κ²Œ 주기적으둜 전달해야 ν•˜λŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€.

μ΄λ ‡κ²Œ 반볡적인 μ—…λ¬΄λŠ” λΆˆν•„μš”ν•œ μ‹œκ°„μ„ 많이 μ†Œλͺ¨ν•˜λ©°, λ‹¨μˆœ μž‘μ—… 쀑에 μ‹€μˆ˜λ₯Ό μœ λ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 파이썬 ν”„λ‘œκ·Έλž¨μ„ ν™œμš©ν•˜λ©΄ μ΄λŸ¬ν•œ 반볡적인 이메일 업무λ₯Ό ν”„λ‘œκ·Έλž¨μ„ 톡해 μžλ™ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


파이썬으둜 이메일 μžλ™ν™”ν•˜κΈ°

νŒŒμ΄μ¬μ—μ„œ 이메일 λ°œμ†‘μ„ μžλ™ν™”ν•˜κΈ° μœ„ν•΄μ„œλŠ” smtplib 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ SMTP μ„œλ²„μ— μ—°κ²°ν•˜κ³ , 이메일을 λ³΄λ‚΄λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ•Ό ν•©λ‹ˆλ‹€.

smtplib λΌμ΄λΈŒλŸ¬λ¦¬λŠ” pip install smtplib λͺ…λ Ήμ–΄λ‘œ 컴퓨터에 μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜λŠ” 파이썬 μ½”λ“œ μ˜ˆμ‹œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μžλͺ…κ³Ό μ΄λ©”μΌλ‘œ κ΅¬μ„±λœ 3λͺ…μ—κ²Œ 각각 λ‹€λ₯Έ 이메일을 λ³΄λ‚΄λŠ” μ½”λ“œ μ˜ˆμ‹œμž…λ‹ˆλ‹€.

μ°Έκ³  : μ½”λ“œν”„λ Œμ¦ˆ μ‹€μŠ΅ ν™˜κ²½μ€ 이메일 λ°œμ†‘μ΄ λ‚¨μš©λ˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄, 이메일 μˆ˜μ‹ μžλ₯Ό μ½”λ“œν”„λ Œμ¦ˆ κ°€μž… μ΄λ©”μΌλ‘œ μ œν•œν•©λ‹ˆλ‹€.

파이썬으둜 μ‚¬μš©μžλ³„ 이메일 μžλ™ 전솑
# smtplib 라이브러리 뢈러였기 import smtplib # 이메일 ꡬ성을 μœ„ν•œ 라이브러리 뢈러였기 from email.mime.text import MIMEText # 이메일 λ³Έλ¬Έκ³Ό 제λͺ©μ„ κ΅¬μ„±ν•˜κΈ° μœ„ν•œ 라이브러리 뢈러였기 from email.mime.multipart import MIMEMultipart # λ°œμ‹ μž 이메일 μ„€μ • sender_email = "sender@example.com" # λ°œμ‹ μž 이메일 λΉ„λ°€λ²ˆν˜Έ password = "your_password" # μˆ˜μ‹ μž 리슀트 (usernameκ³Ό email) recipients = [ {"username": "Alice", "email": "alice@example.com"}, {"username": "Bob", "email": "bob@example.com"}, {"username": "Charlie", "email": "charlie@example.com"} ] # SMTP μ„œλ²„ μ—°κ²° μ„€μ • smtp_server = "smtp.example.com" # SMTP μ„œλ²„ 포트 번호 # 포트(Port)λž€? # λ„€νŠΈμ›Œν¬μ—μ„œ ν”„λ‘œκ·Έλž¨μ΄ 톡신을 μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 번호 port = 587 # 이메일 전솑 ν•¨μˆ˜ def send_email(username, receiver_email): # 이메일 제λͺ© subject = "μ½”λ“œν”„λ Œμ¦ˆ μ—…λ°μ΄νŠΈ μ•ˆλ‚΄" # 이메일 λ³Έλ¬Έ body = f"μ•ˆλ…•ν•˜μ„Έμš” {username}λ‹˜, μ½”λ“œν”„λ Œμ¦ˆ μ—…λ°μ΄νŠΈ μ†Œμ‹μ„ μ•ˆλ‚΄λ“œλ¦½λ‹ˆλ‹€." # 이메일 ꡬ성 msg = MIMEMultipart() # 이메일 μ†‘μ‹ μž, μˆ˜μ‹ μž, 제λͺ© μ„€μ • msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject # 이메일 λ³Έλ¬Έ μΆ”κ°€ msg.attach(MIMEText(body, 'plain')) try: # SMTP μ„œλ²„ μ—°κ²° server = smtplib.SMTP(smtp_server, port) # TLS(이메일 μ•”ν˜Έν™”) μ—°κ²° server.starttls() # 이메일 둜그인 server.login(sender_email, password) # 이메일 λ©”μ‹œμ§€λ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ text = msg.as_string() # 이메일 전솑 server.sendmail(sender_email, receiver_email, text) except Exception as e: print(f"{username}λ‹˜μ—κ²Œ 이메일 λ°œμ†‘ 쀑 μ—λŸ¬ λ°œμƒ: {e}") finally: server.quit() # μ„œλ²„ μ—°κ²° μ’…λ£Œ # 각 μ‚¬μš©μžμ—κ²Œ 이메일 λ°œμ†‘ for recipient in recipients: send_email(recipient["username"], recipient["email"])

μ½”λ“œ μ„€λͺ…

1. μˆ˜μ‹ μž 리슀트

recipients λ¦¬μŠ€νŠΈλŠ” 각각 usernameκ³Ό email둜 κ΅¬μ„±λœ λ”•μ…”λ„ˆλ¦¬ ν˜•νƒœλ‘œ μ •μ˜λ©λ‹ˆλ‹€.

이 λ¦¬μŠ€νŠΈμ—λŠ” 이메일을 보낼 3λͺ…μ˜ μ‚¬μš©μž 정보가 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.


2. 이메일 전솑 ν•¨μˆ˜

send_email ν•¨μˆ˜λŠ” 각 μ‚¬μš©μžμ—κ²Œ 이메일을 λ³΄λ‚΄λŠ” 역할을 ν•©λ‹ˆλ‹€.

ν•¨μˆ˜λŠ” usernameκ³Ό receiver_email을 λ§€κ°œλ³€μˆ˜λ‘œ λ°›μ•„, 이메일 제λͺ©κ³Ό 본문에 μ‚¬μš©μž 이름을 ν¬ν•¨μ‹œν‚΅λ‹ˆλ‹€.


3. 이메일 전솑

for 루프λ₯Ό μ‚¬μš©ν•΄ recipients λ¦¬μŠ€νŠΈμ— μžˆλŠ” 각 μ‚¬μš©μžμ—κ²Œ 순차적으둜 이메일을 μ „μ†‘ν•©λ‹ˆλ‹€.

각 μ‚¬μš©μžλŠ” μžμ‹ μ˜ 이름이 반영된 이메일을 λ°›κ²Œ λ©λ‹ˆλ‹€.

이 μ½”λ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ 각 μ‚¬μš©μžμ—κ²Œ λ§žμΆ€ν˜• 이메일을 κ°„νŽΈν•˜κ²Œ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

SMTP μ„œλ²„ μ£Όμ†Œ(smtp.example.com)와 λ°œμ‹ μž 이메일, λΉ„λ°€λ²ˆν˜Έλ₯Ό μ‹€μ œ κ°’μœΌλ‘œ λ³€κ²½ν•œ ν›„ μ‹€ν–‰ν•˜λ©΄ λ©λ‹ˆλ‹€.


μ‹€μŠ΅

μ½”λ“œ μ—λ””ν„°μ˜ μ‹€μŠ΅ μ½”λ“œμ—μ„œ receiver_email에 μ½”λ“œν”„λ Œμ¦ˆ κ°€μž… 이메일을 μž…λ ₯ν•˜κ±°λ‚˜ 잘 λ°˜μ˜λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜κ³ , μ½”λ“œλ₯Ό μ‹€ν–‰ν•΄λ³΄μ„Έμš”.

μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄ ν…ŒμŠ€νŠΈ 이메일이 μ½”λ“œν”„λ Œμ¦ˆ κ°€μž… μ΄λ©”μΌλ‘œ μ „μ†‘λ©λ‹ˆλ‹€.

Mission
0 / 1

νŒŒμ΄μ¬μ—μ„œ SMTP ν”„λ‘œν† μ½œμ„ ν™œμš©ν•΄ 이메일을 λ°œμ†‘ν•  λ•Œ, κ°€μž₯ λŒ€μ€‘μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λ¬΄μ—‡μΌκΉŒμš”?

smtpgo
smtplive
smtplib
python-smtp

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result