Awesome-Python-Scripts/Contact-Distribution/contact-distribution.py

53 lines
1.5 KiB
Python
Raw Normal View History

#!/usr/bin/python
# coding: utf-8
import email
import smtplib
import sys
import csv
# Capture stdin message via pipe
msg = email.message_from_file(sys.stdin)
# list with sellers or emails for distribution
sellers = [('Seller 01', 'seller01@domain.com'),
('Seller 02', 'seller02@domain.com')]
# Check the size of the vendor list
totalSellers = len(sellers)
# Get the last seller that received email
lastSeller = open('lastseller.txt', 'r').read() # use the full path of file
# Determines the next seller who will receive email
if int(lastSeller) == totalSellers - 1: # If the last one you received is the last
nextSeller = 0 # on the list, get the first one on the list.
else: # If not,
nextSeller = int(lastSeller) + 1 # get the next one.
currentSeller = str(nextSeller)
# records which seller is receiving the current email.
fvend = open('lastseller.txt', 'w') # use the full path of file
fvend.write(currentSeller)
fvend.close()
# Check if you have an email for reply
if not msg['reply-to']:
emailContact = msg['from']
else:
emailContact = msg['reply-to']
# writes log to csv
with open('emails.csv', 'a') as fcsv: # use the full path of file
mailwriter = csv.writer(fcsv, delimiter=';')
mailwriter.writerow(
[msg['date'], msg['subject'], emailContact,
sellers[nextSeller][0]])
# Forward the email to the seller of the time.
s = smtplib.SMTP('localhost')
s.sendmail("sellers@domain.com", sellers[nextSeller][1],
msg.as_string())
s.quit()