Как отправить письмо на почту с помощью python?

Пользователь

от cooper.berge , в категории: Python , год назад

Как отправить письмо на почту с помощью python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deshaun_cormier , год назад

@cooper.berge 

Для отправки письма на почту с помощью Python можно использовать стандартную библиотеку smtplib. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_email(subject, message, from_email, to_email, smtp_server, smtp_port, smtp_username, smtp_password):
    # Создаем объект MIMEMultipart
    msg = MIMEMultipart()
    
    # Добавляем поля в объект msg
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = subject

    # Добавляем текст письма
    msg.attach(MIMEText(message, 'plain'))

    # Создаем объект smtplib.SMTP
    with smtplib.SMTP(smtp_server, smtp_port) as server:
        # Устанавливаем TLS соединение
        server.starttls()
        
        # Авторизуемся на сервере SMTP
        server.login(smtp_username, smtp_password)
        
        # Отправляем письмо
        server.send_message(msg)
    
    print('Письмо успешно отправлено!')

# Пример использования функции send_email()
subject = 'Тестовое письмо'
message = 'Привет, это тестовое письмо, отправленное через Python!'
from_email = 'от_кого@адрес_отправителя.домен'
to_email = 'кому@адрес_получателя.домен'
smtp_server = 'smtp.адрес_сервера.домен'
smtp_port = 587
smtp_username = 'ваш_логин'
smtp_password = 'ваш_пароль'

send_email(subject, message, from_email, to_email, smtp_server, smtp_port, smtp_username, smtp_password)


Вам нужно заменить значения значений переменных subject, message, from_email, to_email, smtp_server, smtp_port, smtp_username, smtp_password на соответствующие вашим данным. Будьте уверены, что ваше SMTP-соединение настроено правильно и включено.

Пользователь

от cayla , 8 месяцев назад

@cooper.berge 

Для отправки письма по электронной почте, рекомендуется использовать библиотеку smtplib вместо библиотеки sendmail. Библиотека sendmail работает напрямую с локальным почтовым сервером (MTA) и требует глубоких настроек и правильной работы вашего почтового сервера.


Ниже приведен пример кода отправки письма по электронной почте с помощью библиотеки smtplib:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_email(subject, message, from_email, to_email, smtp_server, smtp_port, smtp_username, smtp_password):
    msg = MIMEMultipart()
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = subject
    msg.attach(MIMEText(message, 'plain'))

    with smtplib.SMTP(smtp_server, smtp_port) as server:
        server.starttls()
        server.login(smtp_username, smtp_password)
        server.sendmail(from_email, to_email, msg.as_string())

    print('Письмо успешно отправлено!')

subject = 'Тестовое письмо'
message = 'Привет, это тестовое письмо, отправленное через Python!'
from_email = '[email protected]'
to_email = '[email protected]'
smtp_server = 'smtp.yourmailserver.com'
smtp_port = 587
smtp_username = 'your_username'
smtp_password = 'your_password'

send_email(subject, message, from_email, to_email, smtp_server, smtp_port, smtp_username, smtp_password)


Замените значения переменных subject, message, from_email, to_email, smtp_server, smtp_port, smtp_username, smtp_password на соответствующие значения вашей учетной записи и параметров SMTP сервера.