[Python] ํŒŒ์ด์ฌ์„ ํ™œ์šฉํ•œ ์ด๋ฉ”์ผ ์ž๋™ํ™” ๋ฐฉ๋ฒ•

2025. 1. 16. 09:14ยท๐Ÿงฉ Language/Python
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
'๐Ÿงฉ Language/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Python ์›น ์Šคํฌ๋ž˜ํ•‘ (2) Requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • [Python] ์›น ์Šคํฌ๋ž˜ํ•‘ ๊ธฐ์ดˆ (BeautifulSoup4, CSS Selectors)
  • [Python] ๋ฐ์ดํ„ฐ ํ‘œํ˜„์„ ์œ„ํ•œ ์ •๊ทœํ‘œํ˜„์‹ ์ •๋ฆฌ
  • [Python] ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ œ์–ด
WISHee
WISHee
IT์™€ ๋ณด์•ˆ์— ๋Œ€ํ•œ ๊ณต๋ถ€ ๊ธฐ๋ก์„ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์•„๊ฐ€๋Š” ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๐Ÿ›ก๏ธ๐Ÿ’ป
  • WISHee
    DevwithWish
    WISHee
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸŒณ ROOT (128)
      • โ›“๏ธ ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ (10)
        • ๊ธฐ๋ณธ ๊ฐœ๋… (9)
        • ํŒจํ‚ท ๋ถ„์„ (1)
        • ์นจ์ž… ํƒ์ง€ ๋ฐ ๋ฐฉ์ง€ (0)
      • โš™๏ธ ์‹œ์Šคํ…œ ๋ณด์•ˆ (0)
        • ์šด์˜์ฒด์ œ ๋ณด์•ˆ (0)
        • ์ทจ์•ฝ์  ๋ถ„์„ (0)
        • ๋กœ๊ทธ ๋ถ„์„ (0)
      • ๐ŸŒ ์›น ๋ณด์•ˆ (1)
        • OWASP TOP 10 (1)
        • ์›น ์„œ๋ฒ„ ๋ณด์•ˆ (0)
        • ์›น ์ทจ์•ฝ์  ๋ถ„์„ (0)
      • โ˜๏ธ ํด๋ผ์šฐ๋“œ ๋ณด์•ˆ (3)
        • AWS (3)
      • ๐Ÿ” ์•”ํ˜ธํ™” & ์ธ์ฆ (3)
        • ์•”ํ˜ธํ™” ๊ฐœ๋… (2)
        • TLS,SSL (0)
        • ์ธ์ฆ & ์ ‘๊ทผ์ œ์–ด (1)
      • ๐Ÿšจ ๋ณด์•ˆ ์‹ค๋ฌด (30)
        • ๋ณด์•ˆ ๊ด€์ œ (14)
        • ๋ชจ์˜ ํ•ดํ‚น (12)
        • ์ทจ์•ฝ์  ์ง„๋‹จ (3)
        • ๋””์ง€ํ„ธํฌ๋ Œ์‹ (1)
      • ๐Ÿ“š ISMS & ISO27001 (9)
        • ISMS, ISMS-P ์ธ์ฆ (2)
      • ๐Ÿ“ฐ ๋ณด์•ˆ ๋‰ด์Šค & ํŠธ๋ Œ๋“œ (1)
        • ์ตœ์‹  ๋ณด์•ˆ ์ด์Šˆ (1)
        • ์‚ฌ์ด๋ฒ„ ์œ„ํ˜‘ ์ •๋ณด (0)
        • ๋ณด์•ˆ ์ปจํผ๋Ÿฐ์Šค ๋ฆฌ๋ทฐ (0)
      • ๐Ÿ”ฅ SKShieldusRookies (15)
        • Review (3)
        • PBL (0)
        • ๊ณผ์ œ (4)
        • ๋ชจ๋“ˆ ํ”„๋กœ์ ํŠธ (8)
        • ์ตœ์ข… ํ”„๋กœ์ ํŠธ (0)
      • ๐Ÿ—‚๏ธ Project (3)
        • SOAR (0)
        • BlockChain (3)
      • ๐Ÿงฉ Language (23)
        • Java (1)
        • Python (16)
        • Programmers (6)
      • ๐Ÿ‘ฅ ๋ฒ„์ „๊ด€๋ฆฌ & ํ˜‘์—…๋„๊ตฌ (9)
        • Git, GitHub (4)
        • etc (5)
      • ๐Ÿ’œ ์ผ์ƒ (21)
        • Boot Camp (4)
        • Study (6)
        • Travel (8)
        • Study Abroad (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

    • ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค!
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์™€์ด์–ด์ƒคํฌ
    sk์‰ด๋”์Šค๋ฃจํ‚ค์ฆˆ
    slack
    Github
    ์œ ๋Ÿฝํ•œ๋‹ฌ์—ฌํ–‰
    ์œ ๋Ÿฝ์—ฌํ–‰
    ๋ชฝ์ƒ๋ฏธ์…ธ
    ๊นƒํ—ˆ๋ธŒ
    ์˜นํ”Œ๋ขฐ๋ฅด
    ์œˆ๋„์šฐ๋ณด์•ˆ
    ๋ธ”๋ก์ฒด์ธ์‹ค์Šต
    ๋ณด์•ˆ์‹ค์Šต
    flask
    ํ”Œ๋ผ์Šคํฌ
    ์นผ๋ฆฌ๋ฆฌ๋ˆ…์Šค
    VSCode
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    ๋Ÿฐ๋˜์—ฌํ–‰
    ํ•œ๋‹ฌ์—ฌํ–‰
    Python
    ํ”„๋ž‘์Šค์—ฌํ–‰
    ํŒŒ์ด์ฌ
    ํ˜‘์—…๋„๊ตฌ
    ๋ชจ์˜ํ•ดํ‚น
    git
    ๋ฆฌ๋ˆ…์Šค๋ณด์•ˆ
    ์ •๋ณด๋ณด์•ˆ
    ํŒŒ๋ฆฌ์—ฌํ–‰
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ํ•ด์™ธ์—ฌํ–‰
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • 160x600
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
WISHee
[Python] ํŒŒ์ด์ฌ์„ ํ™œ์šฉํ•œ ์ด๋ฉ”์ผ ์ž๋™ํ™” ๋ฐฉ๋ฒ•
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”