Python Ответить на сообщение электронной почты

У меня есть приложение Django, которое мы разработали для управления запросами и заявками на бронирование отелей. Мы получаем электронные письма непосредственно из нашего модала django-mailbox. Теперь я столкнулся с проблемой: когда я получаю электронное письмо, я хочу ответить на него, чтобы, когда получатель откроет письмо, он мог увидеть ранее отправленное или полученное сообщение на той же странице, как в Gmail. Как это сделать

вот мой код:

def reply_inquiry_email_to_hotel(request, reservation_pk):
    try:
        reservation = Reservation.objects.get(pk=reservation_pk)
        rooms = ReservationRoom.objects.filter(reservation=reservation)
        hotel = reservation.hotel
        email_server = CompanyEmailServer.objects.get(company=reservation.company)
        # Set email settings
        settings.EMAIL_HOST = email_server.email_server
        settings.EMAIL_PORT = email_server.email_port
        settings.EMAIL_HOST_USER = email_server.email_username
        settings.EMAIL_HOST_PASSWORD = email_server.email_password
        settings.EMAIL_USE_TLS = email_server.email_use_tls
        settings.EMAIL_USE_SSL = email_server.email_use_ssl
        settings.DEFAULT_FROM_EMAIL = "Reservations | " + reservation.company.name_en + " <" + email_server.email_username + ">"
        subject = f'New Reservation Request No: {reservation.reservation_no} For {hotel.name_en} From {reservation.guest_name} On {reservation.request_date}'
        html_message = render_to_string('email/message.html', {'reservation': reservation, 'message': request.POST['message']})
        plain_message = strip_tags(html_message)

        to_email = [hotel.email]
        headers={
                    'In-Reply-To': request.POST['in_reply_to'], 
                    'References': request.POST['in_reply_to']
                }
        email = EmailMultiAlternatives(subject, plain_message, settings.DEFAULT_FROM_EMAIL, to_email, headers=headers)
        
        email.attach_alternative(html_message, "text/html")

        email.send(fail_silently=False)

        mailbox = Mailbox.objects.get(pk=email_server.mailbox.pk)
        mailbox.record_outgoing_message(email.message())
        messages.success(request, _('Email sent successfully'))
        return redirect(reverse('hotel_reservation_mailbox', args=[reservation.pk,]))

    except Exception as e:
        print(('Failed to send email: ') + str(e))
        return redirect(reverse('hotel_reservation_mailbox', args=[reservation.pk,]))

Отправить сообщение как ответ на исходное сообщение

Вернуться на верх