LPgenerator / django-db-mailer

Django module to easily send emails/sms/tts/push using django templates stored on database and managed through the Django Admin
https://github.com/LPgenerator/django-db-mailer
GNU General Public License v2.0
256 stars 80 forks source link

Bug in sms aero provider #74

Closed tyapkov closed 7 years ago

tyapkov commented 7 years ago

При попытке отправки через smsaero появляется ошибка (Python 3):

.pyenv/versions/3.5.1/envs/d/lib/python3.5/site-packages/dbmail/providers/smsaero/sms.py", line 3, in from httplib import HTTPConnection ImportError: No module named 'httplib'

Вот решение:

http://stackoverflow.com/questions/13778252/import-httplib-importerror-no-module-named-httplib

gotlium commented 7 years ago

пул-реквест? на текущий момент большая часть провайдеров застряла на Python 2.7. можно использовать к примеру requests, но тогда это будет дополнительная зависимость.

tyapkov commented 7 years ago

Можно и пул реквест организовать, но там действительно и другие зависимости, которые тоже нужно решать. Я в результате сделал собственного провайдера. Еще одна проблема с sms aero возникла позже. Похоже, они изменили формат, в котором данные возвращаются, поэтому дефолтный провайдер даже с правильными imports работать не будет.

gotlium commented 7 years ago

нужно что бы без зависимостей; ну и менять под текущий формат. с другой стороны - апи нужно версионировать как минимум. делаем выводы. если без PR, то просто выпилим их. благо написать провайдера каждый может сам.

gotlium commented 7 years ago

в antigate писал простенькие http бекенды, которые работают с py2/py3 (https://github.com/gotlium/antigate/blob/master/antigate/backends/urllib_lib.py). для всех провайдеров необходимо использовать обвязку без зависимостей. это правильно с точки зрения стандартной библиотеки и внешних зависимостей. не каждый программист хочет тащить в проект большое кол-во зависимостей (что оправдано в большинстве случаев). есть время и желание - можно сделать тоже самое и в dbmail. в дальнейшем возможно сделаю сам, как дойдут руки (не скоро).