Skip to content

Instantly share code, notes, and snippets.

@mdaizovi
Last active January 12, 2019 20:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdaizovi/013f86c73690c95761811b43047df7b1 to your computer and use it in GitHub Desktop.
Save mdaizovi/013f86c73690c95761811b43047df7b1 to your computer and use it in GitHub Desktop.
from django.conf import settings
from django.core.mail import EmailMessage
from django.dispatch import receiver
from django.utils import timezone
from anymail.signals import inbound
@receiver(inbound)
def handle_inbound(sender, event, esp_name, **kwargs):
"""Very basic mail forwarding. Ignores attachments."""
event_message = event.message
me, created = MessageEvent.objects.get_or_create(event_event_id=event.event_id,
event_timestamp=event.timestamp,
event_esp_event=str(event.esp_event),
msg_envelope_sender=str(event_message.envelope_sender),
msg_envelope_recipient=str(event_message.envelope_recipient),
msg_from_email=str(event_message.from_email),
msg_subject=str(event_message.subject),
msg_text=str(event_message.text))
me.msg_date = event_message.date
me.msg_html = event_message.html
# Don't forward again if message already exists.
if not created:
return
# see original repo for these methods.
# Essentially you just need to decide where to forward it to, and send the message there.
me.forward_to = me.get_forwarding_email()
if me.forward_to:
me._forward()
me.save()
return True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment