πŸ“§ Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python? Π›Π΅Π³ΠΊΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ smtplib.


import smtplib
from email.mime.text import MIMEText

# НастройтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСрвСра SMTP
smtp_server = 'smtp.example.com'
port = 25

# Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ отправитСля ΠΈ получатСля
sender_email = 'sender@example.com'
receiver_email = 'receiver@example.com'

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния
message = MIMEText('ΠŸΡ€ΠΈΠ²Π΅Ρ‚, это тСстовоС письмо!')
message['Subject'] = 'ВСстовоС письмо'

# ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ письмо
with smtplib.SMTP(smtp_server, port) as server:
    server.sendmail(sender_email, receiver_email, message.as_string())
  

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° писСм Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с использованиСм языка программирования Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с использованиСм Ρ€Π°Π·Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python.

1. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° smtplib

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° smtplib позволяСт ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ письма ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SMTP. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ:


import smtplib

def send_email(smtp_server, sender_email, receiver_email, subject, body, username, password):
    message = f"Subject: {subject}\n\n{body}"
    
    with smtplib.SMTP(smtp_server) as server:
        server.login(username, password)
        server.sendmail(sender_email, receiver_email, message)
        print("Письмо ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ!")
        
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ send_email
smtp_server = "smtp.mail.ru"
sender_email = "example@mail.ru"
receiver_email = "recipient@example.com"
subject = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΎΡ‚ Python!"
body = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, это письмо ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python!"
username = "example@mail.ru"
password = "password"

send_email(smtp_server, sender_email, receiver_email, subject, body, username, password)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ send_email, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • smtp_server - адрСс SMTP-сСрвСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ письма (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "smtp.mail.ru" для ΠΏΠΎΡ‡Ρ‚Ρ‹ Mail.ru)
  • sender_email - адрСс отправитСля письма
  • receiver_email - адрСс получатСля письма
  • subject - Ρ‚Π΅ΠΌΠ° письма
  • body - тСкст письма
  • username - имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° SMTP-сСрвСрС
  • password - ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° SMTP-сСрвСрС

Ѐункция Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сообщСниС ΠΏΡƒΡ‚Π΅ΠΌ объСдинСния Ρ‚Π΅ΠΌΡ‹ ΠΈ тСкста письма. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ SMTP-сСрвСру, авторизуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ пароля, ΠΈ отправляСт сообщСниС.

2. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° yagmail

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° yagmail прСдоставляСт Π±ΠΎΠ»Π΅Π΅ простой способ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ писСм ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΅Π΅ использованиС:


import yagmail

def send_email(sender_email, receiver_email, subject, body, password):
    yag = yagmail.SMTP(sender_email, password)
    yag.send(receiver_email, subject, body)
    print("Письмо ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ!")
    
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ send_email
sender_email = "example@gmail.com"
receiver_email = "recipient@example.com"
subject = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΎΡ‚ Python!"
body = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, это письмо ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python!"
password = "password"

send_email(sender_email, receiver_email, subject, body, password)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ send_email, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • sender_email - адрСс отправитСля письма
  • receiver_email - адрСс получатСля письма
  • subject - Ρ‚Π΅ΠΌΠ° письма
  • body - тСкст письма
  • password - ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ящика отправитСля

Ѐункция создаСт экзСмпляр класса yagmail.SMTP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ SMTP-сСрвСру. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ send, пСрСдавая адрСс получатСля, Ρ‚Π΅ΠΌΡƒ письма ΠΈ тСкст письма.

3. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° EmailMessage

Π’ Python 3.6 ΠΈ Π²Ρ‹ΡˆΠ΅ встроСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° EmailMessage для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСктронными письмами. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования:


from email.message import EmailMessage
import smtplib

def send_email(sender_email, receiver_email, subject, body, username, password):
    message = EmailMessage()
    message["Subject"] = subject
    message["From"] = sender_email
    message["To"] = receiver_email
    message.set_content(body)
    
    with smtplib.SMTP("smtp.mail.ru") as server:
        server.login(username, password)
        server.send_message(message)
        print("Письмо ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ!")
        
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ send_email
sender_email = "example@mail.ru"
receiver_email = "recipient@example.com"
subject = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΎΡ‚ Python!"
body = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, это письмо ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python!"
username = "example@mail.ru"
password = "password"

send_email(sender_email, receiver_email, subject, body, username, password)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса EmailMessage ΠΈ устанавливаСм Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹: Ρ‚Π΅ΠΌΡƒ (Subject), адрСс отправитСля (From), адрСс получатСля (To) ΠΈ содСрТимоС письма (set_content). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ SMTP-сСрвСру, авторизуСмся ΠΈ отправляСм сообщСниС.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ письма Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ smtplib, yagmail ΠΈΠ»ΠΈ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ EmailMessage Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅ соСдинСниС (SSL ΠΈΠ»ΠΈ TLS) ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ SMTP-сСрвСру, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваш ΠΏΠ°Ρ€ΠΎΠ»ΡŒ хранится Π² бСзопасном мСстС.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python | Email рассылка | Python send Gmail

Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ Gmail с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python Π² 2022

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python | Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо с Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python | Email рассылка

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Python Π½Π° Windows: простая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

⌨️ Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ”’ Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅? Π£Π·Π½Π°ΠΉΡ‚Π΅ всС способы!

πŸ“§ Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python? Π›Π΅Π³ΠΊΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Как ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρ‹ python: Π»Π΅Π³ΠΊΠΈΠΉ Π³ΠΈΠ΄ πŸ“…β“

πŸ”Ž Как Π² python Π²Π·ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°? ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈ быстро!

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ строки Python? 🐍