Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12

Код для отправки сообщения на маил Python

27.11.2019, 11:38. Показов 7196. Ответов 25

Студворк — интернет-сервис помощи студентам
Написал программу в которую вводятся кое-какие данные и они сохраняются в создающийся файл, хочу сделать апгрейд своей программе, нужно что бы введённые данные пользователем приходили ТЕКСТОМ на почту, как не знаю, т.к начинающий.
Напишите код для отправки сообщений самому себе на yandex почту пожалуйста.
Сам новичок, миллион кодов перекопировал, перепробовал, не один не работает.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2019, 11:38
Ответы с готовыми решениями:

код для отправки сообщения на email
подскажите какой код нужен для отправки сообщения на email в Windows.Forms если можно поподробнее для чайника )

Написать код для отправки сообщения на почту
<form name="MailSend"> Ваше имя:<br> <input type="text" class="textSE"></input><br><br> Ваш Email:<br> ...

Как узнать код действия всплывающего сообщения для Я Метрики. после отправки заявки с формы
Как узнать код действия всплывающего сообщения для Я Метрики. после отправки заявки с формы ...

25
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
27.11.2019, 11:53
отправка через outlook?
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 11:58  [ТС]
Так не удобно, я код отслылающей программы в свою интегрирую, а то левая прога не удобно так.
0
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
27.11.2019, 12:03
я спрашиваю как планируете отправлять? есть скрипт для отправки через программу outlook и есть скрипт для отправки через яндекс
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 15:12  [ТС]
Про это первый раз слышу xD, не понял, мне надо что бы программа отправляла письмо на яндекс почту, наверное в таком случае мне кажется "скрип для отправки через яндекс".
0
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
27.11.2019, 15:22
Лучший ответ Сообщение было отмечено NoNamePython как решение

Решение

Лови
Python
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import smtplib                                              # Импортируем библиотеку по работе с SMTP
import os                                                   # Функции для работы с операционной системой, не зависящие от используемой операционной системы
 
# Добавляем необходимые подклассы - MIME-типы
import mimetypes                                            # Импорт класса для обработки неизвестных MIME-типов, базирующихся на расширении файла
from email import encoders                                  # Импортируем энкодер
from email.mime.base import MIMEBase                        # Общий тип
from email.mime.text import MIMEText                        # Текст/HTML
from email.mime.image import MIMEImage                      # Изображения
from email.mime.audio import MIMEAudio                      # Аудио
from email.mime.multipart import MIMEMultipart              # Многокомпонентный объект
 
 
def send_email(addr_to, msg_subj, msg_text, files):
    addr_from = 'Тут указать свой логин'                    # Отправитель
    password  = "Тут указать свой пароль "                  # Пароль
 
    msg = MIMEMultipart()                                   # Создаем сообщение
    msg['From']    = addr_from                              # Адресат
    msg['To']      = addr_to                                # Получатель
    msg['Subject'] = msg_subj                               # Тема сообщения
 
    body = msg_text                                         # Текст сообщения
    msg.attach(MIMEText(body, 'plain'))                     # Добавляем в сообщение текст
 
    process_attachement(msg, files)
 
    #======== Этот блок настраивается для каждого почтового провайдера отдельно ===============================================
    server = smtplib.SMTP_SSL('smtp.yandex.ru', 465)        # Создаем объект SMTP
    #server.starttls()                                      # Начинаем шифрованный обмен по TLS
    #server.set_debuglevel(True)                            # Включаем режим отладки, если не нужен - можно закомментировать
    server.login(addr_from, password)                       # Получаем доступ
    server.send_message(msg)                                # Отправляем сообщение
    server.quit()                                           # Выходим
    #==========================================================================================================================
 
def process_attachement(msg, files):                        # Функция по обработке списка, добавляемых к сообщению файлов
    for f in files:
        if os.path.isfile(f):                               # Если файл существует
            attach_file(msg,f)                              # Добавляем файл к сообщению
        elif os.path.exists(f):                             # Если путь не файл и существует, значит - папка
            dir = os.listdir(f)                             # Получаем список файлов в папке
            for file in dir:                                # Перебираем все файлы и...
                attach_file(msg,f+"/"+file)                 # ...добавляем каждый файл к сообщению
 
def attach_file(msg, filepath):                             # Функция по добавлению конкретного файла к сообщению
    filename = os.path.basename(filepath)                   # Получаем только имя файла
    ctype, encoding = mimetypes.guess_type(filepath)        # Определяем тип файла на основе его расширения
    if ctype is None or encoding is not None:               # Если тип файла не определяется
        ctype = 'application/octet-stream'                  # Будем использовать общий тип
    maintype, subtype = ctype.split('/', 1)                 # Получаем тип и подтип
    if maintype == 'text':                                  # Если текстовый файл
        with open(filepath) as fp:                          # Открываем файл для чтения
            file = MIMEText(fp.read(), _subtype=subtype)    # Используем тип MIMEText
            fp.close()                                      # После использования файл обязательно нужно закрыть
    elif maintype == 'image':                               # Если изображение
        with open(filepath, 'rb') as fp:
            file = MIMEImage(fp.read(), _subtype=subtype)
            fp.close()
    elif maintype == 'audio':                               # Если аудио
        with open(filepath, 'rb') as fp:
            file = MIMEAudio(fp.read(), _subtype=subtype)
            fp.close()
    else:                                                   # Неизвестный тип файла
        with open(filepath, 'rb') as fp:
            file = MIMEBase(maintype, subtype)              # Используем общий MIME-тип
            file.set_payload(fp.read())                     # Добавляем содержимое общего типа (полезную нагрузку)
            fp.close()
            encoders.encode_base64(file)                    # Содержимое должно кодироваться как Base64
    file.add_header('Content-Disposition', 'attachment', filename=filename) # Добавляем заголовки
    msg.attach(file)                                        # Присоединяем файл к сообщению
 
 
 
# Использование функции send_email()
addr_to = 'Адрес получателя'                                 # Получатель
 
files =[]
#files = ["file1_path",                                      # Список файлов, если вложений нет, то files=[]
        # "file2_path",                                      
         #"dir1_path"]                                       # Если нужно отправить все файлы из заданной папки, нужно указать её
#files = 'C:\\user\\file.txt                                 # Если нужно отправить конкретный файл
send_email(addr_to, "Test", "Test", files)
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 19:39  [ТС]
Я тебя обожаю, спасибо, работает.
Сам писал?

Добавлено через 9 минут
Он почему то не хочет переменные читать и отправлять их значения, что делать?
send_email(addr_to, "H.S.Y", files)
TypeError: send_email() missing 1 required positional argument: 'files'
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.11.2019, 19:45
Цитата Сообщение от NoNamePython Посмотреть сообщение
Он почему то не хочет переменные читать и отправлять их значения, что делать?
известно что -начать читать книгу по пайтон, там тебя научат первым делом читать ошибки.
Неужели не смог перевести?
дам подсказку - посчитай сколько аргументов принимает функция сенд_емайл и потом посчитай сколько ты передаешь. Подумай об этих двух числах)
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 19:49  [ТС]
Передаёт 4, но у меня указанно 3, при этом files есть, и там и там.
def send_email(addr_to, msg_subj, msg_text, files):
Разве в этом проблема?

Добавлено через 1 минуту
Аааааааа порядок нужен что ль?
Всё, допёрло, но что вводить на место msg_subj, я просто ввёл msg_subj и выдаёт ошибку что имя msg_subj не определено.(Прочитал ошибку.)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.11.2019, 19:56
Цитата Сообщение от NoNamePython Посмотреть сообщение
но что вводить на место msg_subj, я просто ввёл msg_subj и выдаёт ошибку что имя msg_subj не определено.(Прочитал ошибку.)
тему сообщения вестимо. Но по твоему вопросу уже все вижу. Завязывай с почтой, надо основы питона почитать, ты не знаешь как работать с функцими и создавать переменные, это самое начало.
Марк Лутц "Изучаем пайтон", все главы кроме метапрограммирования надо осилить.
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 20:05  [ТС]
Я знаю как "создавать переменные" присваивать им значения и т.д.
В доказательство a = "Привет"
Если выводить на экран то print(a).
Что тут не знать то?

Добавлено через 1 минуту
Просто помочь можете?
Дальше я сам разберусь.

Добавлено через 6 минут
Текст отправляется, всё хорошо, но файл отправлять не хочет, когда раскоментирую строчку с путём к файлу который нужно отправить.
И не могу понять как отправлять данные которые будут введены в a = input("Как вас зовут: ")(пример.).
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.11.2019, 20:05
мне к сожалению добавить нечего
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 20:10  [ТС]
Вот , мне кажется со скрина понятней будет.
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 20:13  [ТС]
Вот скриншот.
Миниатюры
Код для отправки сообщения на маил Python  
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.11.2019, 20:25
Цитата Сообщение от NoNamePython Посмотреть сообщение
мне кажется со скрина понятней будет.
сам то перевел что на скрине написано? при чем тут корзина?)) явно что-то не то со списком файлов, надо отлаживать и смотреть что там
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 20:27  [ТС]
Welemir1, как сделать что бы отправлялись переменные, а точнее значения которые им присвоены?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.11.2019, 20:29
NoNamePython, то есть книгу читать принципаильно не будешь?))) тогда я то как помогу? подсказывая каждый шаг?
Цитата Сообщение от NoNamePython Посмотреть сообщение
как сделать что бы отправлялись переменные, а точнее значения которые им присвоены?
передавать эти переменные в аргумент функции
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 20:43  [ТС]
Welemir1, я по видосам учусь, просмотрел так скажем курс Гоши Дударя, и питон за час от Хауди Хо.
Я посмотрю что в книжке есть, но сначала хочу доработать программу и заучить это, по этому и прошу сразу конкретный ответ.

Добавлено через 2 минуты
Welemir1, передаю я переменные в аргумент функции, н*хера не получается, и скорее всего я не правильно делаю из-за незнания, по этому и прошу вас прислать готовый ответ что бы заучить!!
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
27.11.2019, 20:44
Цитата Сообщение от NoNamePython Посмотреть сообщение
просмотрел так скажем курс Гоши Дударя, и питон за час от Хауди Хо.
тогда все ясно и добавить мне нечего

Цитата Сообщение от NoNamePython Посмотреть сообщение
по этому и прошу сразу конкретный ответ.
вот он - чтобы отправлялись переменные, вернее значения, которые им присвоены - нужно их передать в функцию аргументами. Например
Python
1
send_email('test@yandex.ru', msg_subj='Тема сообщения', msg_text=a, files) # a это наша заветная переменная
0
0 / 0 / 0
Регистрация: 25.11.2019
Сообщений: 12
27.11.2019, 21:16  [ТС]
Welemir1, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2019, 21:16
Помогаю со студенческими работами здесь

Форма обратной связи (вместо отправки сообщения открывается код php)
Ку всем вместо отправки сообщение открывает скрипт php p.s. Я нуб в етом код с инета взял и может ето из за того что я на локалке...

Перенаправление сообщения на маил...
У меня есть сайт, на нем мне необходимо написать контактная инфрпмация "admin@название сайта.by" Проблема стоит в том что все...

Программа для отправки сообщения
Привет всем. Может кто помочь? Задача следующая. Есть сервер, к которому подключается 10 человек. На этом сервере лежат 10 именных...

Триггер для отправки сообщения
Всем привет. Возник вопрос: Есть триггер в MySQL, который должен отправлять людям сообщение на почту, если до окончания оплаченного...

Программа для отправки сообщения на @mail
Помогите пожалуйста написать программу под android которая будет запрашивать у меня ввести строку и после этого отправит мне её на @mail.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru