Django app for an endpoint mailing.
Project description
Mailing backend
Проект для интеграции МС рассылки с другими Django МС.
Подготовка
Загрузить pip:
pip install -i https://test.pypi.org/simple/ mailing-backend
Добавить проект в 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.1.tar.gz
(3.6 kB
view hashes)
Built Distribution
Close
Hashes for mailing_backend-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae1867213361488bce7ac15169e1c169b7d945827fa1cfb05945ddfb6a519386 |
|
MD5 | 6a91071ca02c7aa13d372cd9f7f24429 |
|
BLAKE2b-256 | 2a7367d90c40864fd31db9930357a701138d1d7424ec325071606d85e0a44130 |