Example #1
0
def make_unsubscribe_events_sequence(ts, n):
    msg_from = '*****@*****.**'  # aka Envelope From, Return-Path: address
    friendly_from = '*****@*****.**'
    campaign_id = 'campaign-unsubscribe'
    sending_ip = '10.0.0.1'  # example

    events = ''
    for i in range(0, n):
        subject = 'message that gets unsubscribed'
        rcpt_to = uniq_recip_localpart() + '@ingest.thetucks.com'
        uniq_msg_id = uniq_message_id()
        events += ingest.make_injection_event(ts=ts,
                                              msg_from=msg_from,
                                              friendly_from=friendly_from,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              campaign_id=campaign_id,
                                              subject=subject,
                                              sending_ip=sending_ip)

        user_agent_click = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'
        events += ingest.make_link_unsubscribe_event(
            ts=ts,
            rcpt_to=rcpt_to,
            uniq_msg_id=uniq_msg_id,
            user_agent=user_agent_click)

        events += ingest.make_list_unsubscribe_event(
            ts=ts,
            rcpt_to=rcpt_to,
            uniq_msg_id=uniq_msg_id,
            user_agent=user_agent_click)

    return events
Example #2
0
def make_success_events_sequence_amp(ts, n):
    msg_from = '*****@*****.**'  # aka Envelope From, Return-Path: address
    friendly_from = '*****@*****.**'
    campaign_id = 'big nice campaign'
    subject = 'lovely test email'
    geo_ip = {
        'country': 'US',
        'region': 'MD',
        'city': 'Columbia',
        'latitude': 39.1749,
        'longitude': -76.8375,
        'zip': 21046,
        'postal_code': '21046',
    }
    sending_ip = '10.0.0.1'  # example
    user_agent_opens = 'Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)'
    user_agent_click = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'

    events = ''
    for i in range(0, n):
        # "successful" message sequence
        rcpt_to = uniq_recip_localpart() + '@ingest.thetucks.com'
        uniq_msg_id = uniq_message_id()
        events += ingest.make_injection_event(ts=ts,
                                              msg_from=msg_from,
                                              friendly_from=friendly_from,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              campaign_id=campaign_id,
                                              subject=subject,
                                              sending_ip=sending_ip)
        events += ingest.make_delivery_event(ts=ts,
                                             msg_from=msg_from,
                                             friendly_from=friendly_from,
                                             rcpt_to=rcpt_to,
                                             uniq_msg_id=uniq_msg_id,
                                             campaign_id=campaign_id,
                                             subject=subject,
                                             sending_ip=sending_ip)
        events += ingest.make_amp_initial_open_event(
            ts=ts,
            rcpt_to=rcpt_to,
            uniq_msg_id=uniq_msg_id,
            geo_ip=geo_ip,
            user_agent=user_agent_opens)
        events += ingest.make_amp_open_event(ts=ts,
                                             rcpt_to=rcpt_to,
                                             uniq_msg_id=uniq_msg_id,
                                             geo_ip=geo_ip,
                                             user_agent=user_agent_opens)
        events += ingest.make_amp_click_event(ts=ts,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              geo_ip=geo_ip,
                                              user_agent=user_agent_click)
    return events
Example #3
0
def make_out_of_band_bounce_events_sequence(ts, n):
    msg_from = '*****@*****.**'  # aka Envelope From, Return-Path: address
    friendly_from = '*****@*****.**'
    campaign_id = 'out of band bouncy campaign'
    subject = 'out of band bounce test email'
    sending_ip = '10.0.0.1'  # example

    events = ''
    for i in range(0, n):
        rcpt_to = uniq_recip_localpart() + '@ingest.thetucks.com'
        uniq_msg_id = uniq_message_id()
        bounce_code = '550'
        raw_reason = 'SMTP;550 5.0.0 <' + rcpt_to + '>... User unknown'
        bounce_reason = 'SMTP;550 5.0.0 ...@... ...'  # redacted the email address for this type of reason code
        bounce_class = '10'
        events += ingest.make_injection_event(ts=ts,
                                              msg_from=msg_from,
                                              friendly_from=friendly_from,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              campaign_id=campaign_id,
                                              subject=subject,
                                              sending_ip=sending_ip)
        events += ingest.make_delivery_event(ts=ts,
                                             msg_from=msg_from,
                                             friendly_from=friendly_from,
                                             rcpt_to=rcpt_to,
                                             uniq_msg_id=uniq_msg_id,
                                             campaign_id=campaign_id,
                                             subject=subject,
                                             sending_ip=sending_ip)
        events += ingest.make_out_of_band_bounce_event(
            ts=ts,
            msg_from=msg_from,
            friendly_from=friendly_from,
            rcpt_to=rcpt_to,
            uniq_msg_id=uniq_msg_id,
            campaign_id=campaign_id,
            subject=subject,
            sending_ip=sending_ip,
            bounce_code=bounce_code,
            bounce_reason=bounce_reason,
            bounce_class=bounce_class,
            raw_reason=raw_reason)
    return events
Example #4
0
def make_spam_complaint_events_sequence(ts, n):
    msg_from = '*****@*****.**'  # aka Envelope From, Return-Path: address
    friendly_from = '*****@*****.**'
    campaign_id = 'campaign that gets a spam complaint FBL'
    subject = 'message that gets spam complaint FBL'
    sending_ip = '10.0.0.1'  # example

    events = ''
    for i in range(0, n):
        # "Out of band" bounce message sequence, should have a corresponding injection & delivery
        rcpt_to = uniq_recip_localpart() + '@ingest.thetucks.com'
        uniq_msg_id = uniq_message_id()
        events += ingest.make_injection_event(ts=ts,
                                              msg_from=msg_from,
                                              friendly_from=friendly_from,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              campaign_id=campaign_id,
                                              subject=subject,
                                              sending_ip=sending_ip)
        events += ingest.make_delivery_event(ts=ts,
                                             msg_from=msg_from,
                                             friendly_from=friendly_from,
                                             rcpt_to=rcpt_to,
                                             uniq_msg_id=uniq_msg_id,
                                             campaign_id=campaign_id,
                                             subject=subject,
                                             sending_ip=sending_ip)
        events += ingest.make_spam_complaint_event(ts=ts,
                                                   msg_from=msg_from,
                                                   friendly_from=friendly_from,
                                                   rcpt_to=rcpt_to,
                                                   uniq_msg_id=uniq_msg_id,
                                                   campaign_id=campaign_id,
                                                   subject=subject,
                                                   sending_ip=sending_ip)
    return events
Example #5
0
def make_bounce_events_sequence(ts, n):
    msg_from = '*****@*****.**'  # aka Envelope From, Return-Path: address
    friendly_from = '*****@*****.**'
    campaign_id = 'big bouncy campaign'
    subject = 'This email results in an in-band bounce'
    sending_ip = '10.0.0.1'  # example

    events = ''
    for i in range(0, n):
        # "bounce" message sequence
        rcpt_to = uniq_recip_localpart() + '@ingest.thetucks.com'
        uniq_msg_id = uniq_message_id()
        bounce_code = '554'
        bounce_reason = 'smtp;554 5.7.1 Blacklisted by black.uribl.com Contact the postmaster of this domain for resolution.'
        raw_reason = bounce_reason  # no need to redact this type of reason code
        bounce_class = '51'
        events += ingest.make_injection_event(ts=ts,
                                              msg_from=msg_from,
                                              friendly_from=friendly_from,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              campaign_id=campaign_id,
                                              subject=subject,
                                              sending_ip=sending_ip)
        events += ingest.make_bounce_event(ts=ts,
                                           msg_from=msg_from,
                                           friendly_from=friendly_from,
                                           rcpt_to=rcpt_to,
                                           uniq_msg_id=uniq_msg_id,
                                           campaign_id=campaign_id,
                                           subject=subject,
                                           sending_ip=sending_ip,
                                           bounce_code=bounce_code,
                                           bounce_reason=bounce_reason,
                                           bounce_class=bounce_class,
                                           raw_reason=raw_reason)
    return events
Example #6
0
def make_delay_events_sequence(ts, n):
    msg_from = '*****@*****.**'  # aka Envelope From, Return-Path: address
    friendly_from = '*****@*****.**'
    campaign_id = 'campaign that gets delayed'
    subject = 'message that gets delayed'
    sending_ip = '10.0.0.1'  # example

    events = ''
    for i in range(0, n):
        rcpt_to = uniq_recip_localpart() + '@ingest.thetucks.com'
        uniq_msg_id = uniq_message_id()
        events += ingest.make_injection_event(ts=ts,
                                              msg_from=msg_from,
                                              friendly_from=friendly_from,
                                              rcpt_to=rcpt_to,
                                              uniq_msg_id=uniq_msg_id,
                                              campaign_id=campaign_id,
                                              subject=subject,
                                              sending_ip=sending_ip)
        bounce_code = '452'
        raw_reason = 'smtp;452 4.2.2 Recipient Unable to accept message - mailbox full(c2mailmx101)'
        bounce_reason = raw_reason
        bounce_class = '22'  # Mailbox full
        events += ingest.make_delay_event(ts=ts,
                                          msg_from=msg_from,
                                          friendly_from=friendly_from,
                                          rcpt_to=rcpt_to,
                                          uniq_msg_id=uniq_msg_id,
                                          campaign_id=campaign_id,
                                          subject=subject,
                                          sending_ip=sending_ip,
                                          bounce_code=bounce_code,
                                          bounce_reason=bounce_reason,
                                          bounce_class=bounce_class,
                                          raw_reason=raw_reason)
    return events