Guidelines

μ²¨λΆ€νŒŒμΌμ„ ν¬ν•¨ν•œ 이메일 μ „μ†‘ν•˜κΈ°

νŒŒμ΄μ¬μ„ μ‚¬μš©ν•˜λ©΄ μ²¨λΆ€νŒŒμΌμ΄ ν¬ν•¨λœ 이메일을 ν”„λ‘œκ·Έλž˜λ°μ μœΌλ‘œ 전솑할 수 μžˆμŠ΅λ‹ˆλ‹€.

이메일에 μ²¨λΆ€νŒŒμΌμ„ μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ£Όμš” λΌμ΄λΈŒλŸ¬λ¦¬λŠ” emailμž…λ‹ˆλ‹€.

email λͺ¨λ“ˆμ€ μ΄λ©”μΌμ˜ λ‚΄μš©κ³Ό μ²¨λΆ€νŒŒμΌμ„ ꡬ성할 수 μžˆλŠ” λ‹€μ–‘ν•œ ν΄λž˜μŠ€μ™€ λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.


이메일에 μ²¨λΆ€νŒŒμΌ μΆ”κ°€ν•˜κΈ°

μ•žμ˜ μˆ˜μ—…μ—μ„œ μ‚΄νŽ΄λ³Έ κ²ƒμ²˜λŸΌ, 이메일은 헀더(Header)와 λ³Έλ¬Έ(Body)으둜 κ΅¬μ„±λ©λ‹ˆλ‹€.

ν—€λ”μ—λŠ” μ΄λ©”μΌμ˜ 메타데이터(λ°œμ‹ μž, μˆ˜μ‹ μž, 제λͺ© λ“±)κ°€ ν¬ν•¨λ˜λ©°, λ³Έλ¬Έμ—λŠ” μ‹€μ œ λ‚΄μš©κ³Ό μ²¨λΆ€νŒŒμΌμ΄ ν¬ν•¨λ©λ‹ˆλ‹€.

이메일에 νŒŒμΌμ„ 첨뢀할 λ•ŒλŠ” MIMEBase 객체λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

λ‹€μŒμ€ μ²¨λΆ€νŒŒμΌμ΄ ν¬ν•¨λœ μ΄λ©”μΌμ˜ ꡬ쑰λ₯Ό κ΅¬μ„±ν•˜λŠ” 기본적인 μ½”λ“œμž…λ‹ˆλ‹€.

μ²¨λΆ€νŒŒμΌμ„ ν¬ν•¨ν•œ 이메일 전솑
# κ΄€λ ¨ 라이브러리 뢈러였기 from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders # 이메일 λ‚΄μš© μ„€μ • msg = MIMEMultipart() msg['From'] = 'your_email@example.com' msg['To'] = 'youremail@example.com' msg['Subject'] = 'μ²¨λΆ€νŒŒμΌμ΄ ν¬ν•¨λœ 이메일' # μ²¨λΆ€νŒŒμΌ μΆ”κ°€ filename = 'example.pdf' # μ²¨λΆ€νŒŒμΌμ„ 읽어 MIMEBase둜 λ³€ν™˜ attachment = open(filename, 'rb') # MIMEBase둜 λ³€ν™˜ν•œ μ²¨λΆ€νŒŒμΌμ„ 이메일에 μΆ”κ°€ part = MIMEBase('application', 'octet-stream') # μ²¨λΆ€νŒŒμΌ 이름 μ„€μ • part.set_payload(attachment.read()) # μ²¨λΆ€νŒŒμΌ 인코딩 encoders.encode_base64(part) # μ²¨λΆ€νŒŒμΌ 이름 μ„€μ • part.add_header('Content-Disposition', f'attachment; filename={filename}') # 이메일에 μ²¨λΆ€νŒŒμΌ μΆ”κ°€ msg.attach(part)

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

1. 이메일 λ‚΄μš© μ„€μ •

λ¨Όμ € MIMEMultipart 객체λ₯Ό μƒμ„±ν•˜μ—¬ μ΄λ©”μΌμ˜ λ³Έλ¬Έκ³Ό μ²¨λΆ€νŒŒμΌμ„ 포함할 수 μžˆλŠ” κΈ°λ³Έ 이메일 λ©”μ‹œμ§€λ₯Ό λ§Œλ“­λ‹ˆλ‹€.

MIMEMultipart 객체 생성
# 이메일 λ‚΄μš© μ„€μ • msg = MIMEMultipart() msg['From'] = 'your_email@example.com' msg['To'] = 'youremail@example.com' msg['Subject'] = 'μ²¨λΆ€νŒŒμΌμ΄ ν¬ν•¨λœ 이메일'

λ°œμ‹ μž, μˆ˜μ‹ μž, 제λͺ©μ„ μ„€μ •ν•©λ‹ˆλ‹€.


2. μ²¨λΆ€νŒŒμΌ μΆ”κ°€

MIMEBaseλŠ” μ΄λ©”μΌμ˜ μ²¨λΆ€νŒŒμΌμ„ λ‚˜νƒ€λ‚΄λŠ” 객체둜, μ²¨λΆ€νŒŒμΌμ„ 읽어 MIMEBase둜 λ³€ν™˜ν•œ ν›„ 이메일에 μΆ”κ°€ν•©λ‹ˆλ‹€.

MIMEBase 객체 생성
# μ²¨λΆ€νŒŒμΌ μΆ”κ°€ filename = 'example.pdf' # μ²¨λΆ€νŒŒμΌμ„ 읽어 MIMEBase둜 λ³€ν™˜ attachment = open(filename, 'rb') # MIMEBase둜 λ³€ν™˜ν•œ μ²¨λΆ€νŒŒμΌμ„ 이메일에 μΆ”κ°€ part = MIMEBase('application', 'octet-stream')

3. μ²¨λΆ€νŒŒμΌ 인코딩

# μ²¨λΆ€νŒŒμΌ 이름 μ„€μ • part.set_payload(attachment.read()) # μ²¨λΆ€νŒŒμΌ 인코딩 encoders.encode_base64(part) # μ²¨λΆ€νŒŒμΌ 이름 μ„€μ • part.add_header('Content-Disposition', f'attachment; filename={filename}')

set_payload λ©”μ„œλ“œλ‘œ μ²¨λΆ€νŒŒμΌμ„ MIMEBase 객체에 μΆ”κ°€ν•˜κ³ , encode_base64 λ©”μ„œλ“œλ‘œ μ²¨λΆ€νŒŒμΌμ„ base64둜 μΈμ½”λ”©ν•©λ‹ˆλ‹€.

base64λŠ” 데이터λ₯Ό 64개의 문자둜 이루어진 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜λŠ” 인코딩 방식 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.

λ§ˆμ§€λ§‰μœΌλ‘œ add_header λ©”μ„œλ“œλ‘œ μ²¨λΆ€νŒŒμΌμ˜ 이름을 μ„€μ •ν•©λ‹ˆλ‹€.


μ‹€μŠ΅

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

Mission
0 / 1

λ‹€μŒ 쀑 이메일을 첨뢀할 λ•Œ μ‚¬μš©ν•˜λŠ” λ©”μ„œλ“œλŠ” λ¬΄μ—‡μΌκΉŒμš”?

join

add

attach

append

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result