728x90
๋ฐ์ํ
โป SK ์ด๋์ค ๋ฃจํค์ฆ 24๊ธฐ (ํด๋ผ์ฐ๋๊ธฐ๋ฐ ์ค๋งํธ ์ตํฉ๋ณด์ ๊ณผ์ ) ๊ต์ก์ ๋ค์ผ๋ฉด์ ์์ฑํ ๋ด์ฉ์ ๋๋ค.
1๏ธโฃ ์ค๋น ์ฌํญ
- ์ด๋ฉ์ผ์ ๋ณด๋ด๊ธฐ ์ํด ๋ค์์ ์ค๋น์ฌํญ์ด ํ์ํจ
- ์ด๋ฉ์ผ ๊ณ์ : Gmail, Naver Mail, Outlook ๋ฑ์ SMTP ์๋ฒ๋ฅผ ์ง์ํ๋ ๊ณ์
- SMTP ์๋ฒ ์ ๋ณด: ์ด๋ฉ์ผ ์๋น์ค ์ ๊ณต์์ SMTP ์ฃผ์ ๋ฐ ํฌํธ
- Gmail: ``smtp.gmail.com``, ํฌํธ ``587``
- Naver mail: ``smtp.naver.com``, ํฌํธ ``587``
- Outlook: ``smtp.office365.com``, ํฌํธ ``587``
- ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ``smtplib``์ ``email``์ ์ฌ์ฉ
2๏ธโฃ ์ด๋ฉ์ผ ์๋ํ ๋ณด๋ด๊ธฐ ๊ธฐ๋ณธ ์ฝ๋ ๊ตฌ์ฑ
๐น1. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํฌํธ
import smtplib
from email.mime.text import MIMEText
๐น2. ๋ฐ์ ์์ ์์ ์ ์ ๋ณด
- ``send_email``: ๋ฐ์ ์์ ์ด๋ฉ์ผ ์ฃผ์
- ``send_pwd``: ๋ฐ์ ์์ ์ด๋ฉ์ผ ๋น๋ฐ๋ฒํธ
- ``recv_email``: ์์ ์์ ์ด๋ฉ์ผ ์ฃผ์๋ก, ์ด ์ด๋ฉ์ผ์ ๋ฐ์ ์ฌ๋์ ์ฃผ์๋ฅผ ์ ๋ ฅ
# ๋ฐ์ ์์ ์์ ์ ์ ๋ณด
send_email = "your_email@example.com"
send_pwd = "your_password"
recv_email = "receiver_email@example.com"
๐น3. SMTP ์๋ฒ ์ค์
- ``smtp_name``: ์ด๋ฉ์ผ ์ ์ก์ ์ฌ์ฉํ SMTP ์๋ฒ์ ์ฃผ์
- ``smtp_prot``: SMTP ์๋ฒ ํฌํธ ๋ฒํธ
- ์ผ๋ฐ์ ์ผ๋ก 587๋ฒ์ ๋ณด์ ์ฐ๊ฒฐ(TLS)์ ์ฌ์ฉํ ์ด๋ฉ์ผ ์ ์ก์ ์ฌ์ฉ๋จ
# SMTP ์๋ฒ ์ค์
smtp_name = "smtp.naver.com"
smtp_port = 587
๐น4. ์ด๋ฉ์ผ ๋ฉ์์ง ๊ตฌ์ฑ
- ``MIMEText``: ์ด๋ฉ์ผ ๋ณธ๋ฌธ ๋ด์ฉ์ ๊ตฌ์ฑํ๋ ๊ฐ์ฒด
- ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ ``text``: ์ด๋ฉ์ผ ๋ณธ๋ฌธ ๋ด์ฉ
- ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ ``'plain'``: ์ด๋ฉ์ผ ๋ณธ๋ฌธ์ ํ์(ํ
์คํธ ํ์)์ ์ง์
- HTML์ ๋ณด๋ผ ๊ฒฝ์ฐ ``'html'``๋ก ์ค์ ํ ์ ์์
- ์ธ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ ``'utf-8'``: ๋ณธ๋ฌธ ๋ด์ฉ์ ์ธ์ฝ๋ฉ ๋ฐฉ์. ํ๊ธ์ด ํฌํจ๋ ์ด๋ฉ์ผ์ ๋ณด๋ผ ๊ฒฝ์ฐ 'utf-8'์ ์ฌ์ฉ
- ``msg['Subject']``: ์ด๋ฉ์ผ ์ ๋ชฉ
- ``msg['From']``: ๋ฐ์ ์ ์ด๋ฉ์ผ ์ฃผ์
- ``msg['To']``: ์์ ์ ์ด๋ฉ์ผ ์ฃผ์
text = "์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ ํ
์คํธ์
๋๋ค"
msg = MIMEText(text, 'plain', 'utf-8')
msg['Subject'] = "์ด๋ฉ์ผ ์๋ํ ํ
์คํธ"
msg['From'] = send_email
msg['To'] = recv_email
๐น5. ์ด๋ฉ์ผ ๋ฌธ์์ด ๋ณํ
- ``msg.as_string()``: ๊ตฌ์ฑ๋ ์ด๋ฉ์ผ ๋ฉ์์ง๋ฅผ SMTP ์๋ฒ๊ฐ ์ ์กํ ์ ์๋ ๋ฌธ์์ด ํ์์ผ๋ก ๋ณํ
- ``print(email_string)``: ์ด๋ฉ์ผ ๋ฉ์์ง๊ฐ ์ ๊ตฌ์ฑ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์ถ๋ ฅ
email_string = msg.as_string()
print(email_string)
๐น6. SMTP ์๋ฒ ์ฐ๊ฒฐ ๋ฐ ์ด๋ฉ์ผ ์ ์ก
- ``smtplib.SMTP(smtp_name, smtp_port)``: ์ง์ ๋ SMTP ์๋ฒ์ ํฌํธ์ ์ฐ๊ฒฐ
- ``starttls()``: TLS(์ ์ก ๊ณ์ธต ๋ณด์)๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์์ ๊ฐํ
- ``login(send_email, send_pwd)``: ๋ฐ์ ์์ ์ด๋ฉ์ผ ๊ณ์ ์ ๋ก๊ทธ์ธ
- ``sendmail(send_email, recv_email, email_string)``: ์ด๋ฉ์ผ์ ์ ์ก
- ๋ฐ์ ์: ``send_email``
- ์์ ์: ``recv_email``
- ์ ์กํ ์ด๋ฉ์ผ ๋ด์ฉ: ``email_string``
- ``quit()``: SMTP ์๋ฒ์์ ์ฐ๊ฒฐ์ ์ข ๋ฃ
s = smtplib.SMTP(smtp_name, smtp_port) # SMTP ์๋ฒ ์ฐ๊ฒฐ
s.starttls() # TLS ๋ณด์ ์ฐ๊ฒฐ ์์
s.login(send_email, send_pwd) # ๋ฐ์ ์ ์ธ์ฆ (์ด๋ฉ์ผ ๊ณ์ ๋ก๊ทธ์ธ)
s.sendmail(send_email, recv_email, email_string) # ์ด๋ฉ์ผ ์ ์ก
s.quit() # ์๋ฒ ์ฐ๊ฒฐ ์ข
๋ฃ
๐น7. ์ ์ฒด ์ฝ๋
import smtplib
from email.mime.text import MIMEText
# ๋ฐ์ ์์ ์์ ์ ์ ๋ณด
send_email = "your_email@example.com"
send_pwd = "your_password"
recv_email = "receiver_email@example.com"
# SMTP ์๋ฒ ์ค์
smtp_name = "smtp.naver.com"
smtp_port = 587
# ์ด๋ฉ์ผ ๋ฉ์์ง ๊ตฌ์ฑ
text = "์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ ํ
์คํธ์
๋๋ค"
msg = MIMEText(text, 'plain', 'utf-8')
msg['Subject'] = "์ด๋ฉ์ผ ์๋ํ ํ
์คํธ"
msg['From'] = send_email
msg['To'] = recv_email
email_string = msg.as_string()
print(email_string)
# SMTP ์๋ฒ ์ฐ๊ฒฐ
s = smtplib.SMTP(smtp_name, smtp_port)
s.starttls()
s.login(send_email, send_pwd)
s.sendmail(send_email, recv_email, email_string)
s.quit()
728x90
๋ฐ์ํ
'๐งฉ Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python ์น ์คํฌ๋ํ (2) Requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ (0) | 2025.01.16 |
---|---|
[Python] ์น ์คํฌ๋ํ ๊ธฐ์ด (BeautifulSoup4, CSS Selectors) (0) | 2025.01.16 |
[Python] ๋ฐ์ดํฐ ํํ์ ์ํ ์ ๊ทํํ์ ์ ๋ฆฌ (0) | 2025.01.15 |
[Python] ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ ์ ์ด (1) | 2025.01.14 |
[Python] ์ฃผ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ (๋ฆฌ์คํธ / ๋์ ๋๋ฆฌ) (0) | 2025.01.14 |