Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/64: Рейтинг темы: голосов - 64, средняя оценка - 4.78
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16

Python3 рассылка почты

19.03.2019, 15:43. Показов 13280. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть много писем, надо их постоянно отправлять


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
import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
# Настройки
mail_sender = 'my_mail@bk.ru'
mail_receiver = 'your_mail@ya.ru'
username = 'my_mail@bk.ru'
password = 'my_password'
server = smtplib.SMTP('smtp.mail.ru:465')
 
# Формируем тело письма
subject = u'Тестовый email от '
body = u'Отправка письма на Питтоне '
msg = MIMEText(body, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
 
# Отправляем письмо
 
server.starttls()
server.ehlo()
server.login(username, password)
server.sendmail(mail_sender, mail_receiver, msg.as_string())
server.quit()
но этот код не работает

Файл "/home/email/mail.py", строка 10, в <module>
Файл "/usr/lib/python3.6/smtplib.py", строка 251, в __init__
(code, msg) = self.connect(host, port)
Файл "/usr/lib/python3.6/smtplib.py", строка 338, в connect
(code, msg) = self.getreply()
Файл "/usr/lib/python3.6/smtplib.py", строка 394, в getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

аналогичная ситуация со всеми остальными почтовыми сервисами
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.03.2019, 15:43
Ответы с готовыми решениями:

Поиск адреса электронной почты в 50000 файлов python3
Приветствую! Мигрируем сайт на новый движок, есть только архив html (база уничтожена), и нужно выбрать из всей этой каши только...

Рассылка почты из БД
Здравствуйте, есть несколько баз с аккаунтами пользователей, большинство не активны уже, хочу напомнить им что они когда-то тут были, как...

рассылка почты
Подскажите плз., может кто такое делал, нужно произвести соответствие адресов почты на правильность написания, как это реализовать...

14
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
19.03.2019, 17:07
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
import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
# Настройки
mail_sender = 'my_mail@bk.ru'
mail_receiver = 'your_mail@ya.ru'
username = 'my_mail@bk.ru'
password = 'my_password'
server = smtplib.SMTP_SSL('smtp.mail.ru', 465)
 
# Формируем тело письма
subject = u'Тестовый email от '
body = u'Отправка письма на Питтоне '
msg = MIMEText(body, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
 
# Отправляем письмо
 
#server.starttls()
#server.ehlo()
server.login(username, password)
server.sendmail(mail_sender, mail_receiver, msg.as_string())
server.quit()
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
19.03.2019, 17:11  [ТС]
kratorr,


smtplib.SMTPAuthenticationError: (535, b'Authentication failed. Please verify your account by going to https://e.mail.ru/login?email=my_mail@bk.ru')
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
19.03.2019, 17:11
А зачем вы используете 465 порт? Я понимаю, что во всяких примерах типа "парсер Avito" указан именно он, но нужно ведь и в документацию заглядывать. Причем не только в питоновскую, но в почтовые спецификации.
465 порт давно устарел (хотя все еще используется) и для него нужно нужно использовать SMTP_SSL и не юзать функцию starttls.
587 порт - SMTP и starttls. Если порт не указать - будет использоваться 25-ый или 587-ый.
0
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
19.03.2019, 17:13
IRIP, и ? логин и пароль кто будет менять???
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
19.03.2019, 17:17  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
465 порт давно устарел (хотя все еще используется) и для него нужно нужно использовать SMTP_SSL и не юзать функцию starttls.
587 порт - SMTP и starttls. Если порт не указать - будет использоваться 25-ый или 587-ый.

server.login(username, password)
Файл "/usr/lib/python3.6/smtplib.py", строка 697, в login
"SMTP AUTH extension not supported by server.")

smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server.

не так, не так

Добавлено через 39 секунд
Цитата Сообщение от kratorr Посмотреть сообщение
и ? логин и пароль кто будет менять???
так в том то и прикол - логин пароль верные! (в моем коде)
0
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
19.03.2019, 17:17
IRIP, где же верные ?

Добавлено через 12 секунд
smtplib.SMTPAuthenticationError: (535, b'Authentication failed. Please verify your account by going to https://e.mail.ru/login?email=my_mail@bk.ru')
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
19.03.2019, 17:23  [ТС]
kratorr, да... я там свой пишу ...

и ввожу свой логин / пароль - через браузер - заходит

Добавлено через 2 минуты
такое ощущение, что майл.ру как и гугл, блокирует теперь доступ с других устройств
0
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
19.03.2019, 17:25
IRIP, только что ещё раз отправил, всё работает. Ещё раз повторю, ошибка явно указывает что неверный логин/пароль.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
19.03.2019, 17:29
Цитата Сообщение от IRIP Посмотреть сообщение
майл.ру как и гугл, блокирует теперь доступ с других устройств
С каких таких устройств? Если вы действительно вводите верные аутентифкационные данные - значит проблема в вашей хост-машине, с которой осуществляется отправка и ее сетевых настройках.
1
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
19.03.2019, 19:06  [ТС]
и действительно...
взял другой ящик завел

с него все отправилось

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import smtplib
from cnf import * 
from email.mime.text import MIMEText
from email.header import Header
 
# Настройки
server = smtplib.SMTP_SSL('smtp.mail.ru', 465)
 
# Формируем тело письма
 
subject = u'Тестовый email от '
body = u'Отправка письма на Питтоне '
msg = MIMEText(body, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
 
# Отправляем письмо
server.login(username, password)
server.sendmail(username, mail_receiver, msg.as_string())
server.quit()

cnf.py

Python
1
2
3
username = ' '
password = ' '
mail_receiver = ' '  # получатель
Добавлено через 31 секунду
Garry Galler, на первом ящике была включена двухфакторная авторизация...

Добавлено через 32 минуты
Garry Galler, kratorr, подскажите, как вставить большой чистый html текст в письмо?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
19.03.2019, 19:55
Цитата Сообщение от IRIP Посмотреть сообщение
как вставить большой чистый html текст в письмо?
Python
1
2
3
body = open("index.html",encoding="utf-8").read()
msg = MIMEText(body, 'html')
...
1
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 38
11.05.2019, 02:04
В продолжение темы подскажите нубу...
Сходный скрипт прекрасно работает отправляя письма с Gmail и Яндекса
но стоит его перенести на хостинг в логах ошибка
"SMTP AUTH extension not supported by server.")
smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server.
Подскажите, в какую сторону копать?
0
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
11.05.2019, 12:34
Ses, а если погуглить ошибку?

Python
1
2
3
4
5
6
7
8
9
server = smtplib.SMTP('smtp.example.com', 25)
server.connect("smtp.example.com",465)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
0
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 38
11.05.2019, 12:51
, а если погуглить ошибку?
То к чему это приведет? Вам удалось нагуглить причину этой ошибки?

Python
1
2
3
4
5
6
7
8
9
server = smtplib.SMTP('smtp.example.com', 25)
server.connect("smtp.example.com",465)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Именно сходный код и не работал. А в приведенном примере не совсем понятно зачем подключаться сначала к 25 порту, а потом менять на 465

По поводу ранее заданного вопроса: Думал, что причина ошибки в запросах к smtp, оказалось, что хостинг просто не разрешает запросы к сторонним smtp.
Всем спасибо за поддержку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2019, 12:51
Помогаю со студенческими работами здесь

Рассылка почты
Здраствуйте! Нужна ваша помощь! Нужно реализовать рассылку писем из Win-приложения. В сети нащёл такой пример: //Авторизация...

Массовая рассылка почты
Здравствуйте. форумчане. На сайте собирался реализовать массовую рассылку почты пользователям, в экстренных случаях, но в базе сейчас...

Груповая рассылка почты
Есть БД в MySql в которой несколько таблиц з записями клиентов (порядка 150 записей в каждой) Среди полей в таблицах - e-mail. но...

Массовая рассылка почты. Ресурс
Доброго времени. Вопрос адресован тем, у кого есть опыт в написании сервисов \ администрировании серверов массовой рассылки писем....

Рассылка почты и обработка исключений
Всем привет, проблема такая: в потоке создаю TIdSMTP, TIdMessage, TIdSocksInfo, TIdSSLIOHandlerSocketOpenSSL. При работе программы...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru