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
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
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
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
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
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