Django app for an endpoint mailing.
Project description
Mailing backend
Проект для интеграции МС рассылки с другими Django МС.
Подготовка
Загрузить pip:
pip install mailing-backend==1.0.2
Добавить проект в INSTALLED_APPS
# File: settings.py
INSTALLED_APPS = [
...
"mailing_backend",
]
Установить переменную EMAIL_ENDPOINT_URL
# File: settings.py
EMAIL_ENDPOINT_URL = "http://127.0.0.1:8000/mailing/message-send/"
Пример использования:
serializers.py
#serializers.py
class SendUserMSSerializer(serializers.Serializer):
subject = serializers.CharField()
body = serializers.CharField()
email_list = serializers.ListField(child=serializers.CharField(max_length=254))
from_message = serializers.CharField(required=False, allow_blank=True)
views.py
from django.core.mail import EmailMessage
from mailing_backend.backend import EndpointEmailBackend
from my_proj.serializers import SendUserMSSerializer
#views.py
class MessageSendMSView(APIView):
queryset = Message.objects.all()
serializer_class = SendUserMSSerializer #пример обращения к сериализатору
def post(
self, request: Request, *args: Any, **kwargs: Any
) -> Response:
mes_ser = SendUserMSSerializer(data=request.data)
message = EmailMessage()
message.subject = mes_ser.initial_data.get("subject", '') #string
message.body = mes_ser.initial_data.get("body", '') #string
message.to = mes_ser.initial_data.get("email_list", []) #list
message.from_email = mes_ser.initial_data.get("from_message", '') #string
backend = EndpointEmailBackend()
result = backend.send_messages([message])
return Response(result)
urls.py
#urls.py
path("message-ms-send/", views.MessageSendMSView.as_view(), name="send"),
Сборка
Как собрать проект локально
python3 -m pip install build
python3 -m build
Проверка собранного пакета
python3 -m pip install twine
twine check dist/*
Выкладывание проекта в PYPI
twine upload dist/*
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mailing_backend-1.0.2.tar.gz
(3.6 kB
view hashes)
Built Distribution
Close
Hashes for mailing_backend-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e809b7acb80874a9c499c79437645043faf0d54435e3094b2c1ae56900726ab |
|
MD5 | ac89878741a180a37262246950149d00 |
|
BLAKE2b-256 | c4340d20611eb399bccfa254db2c4d88754e52761c5d4a05f404fc0b3a35b712 |