I'm not 100% sure all this code will work w/ CF5, but this is what I use. The JS is thanks to a UDF written by Ray Camden
this code pulls all emails from an inbox and searches for anything that I've identified as a bounceback. Then it uses the UDF to find the email and then I add that email address to a list. This also delete out of office emails from the inbox. Hopefully this helps, Matt <cfpop server="" username="" password="" action="getAll" name="getAllMail"> <cfset DeleteOrder = ''> <cfoutput> <cfset Email_List = '' /><!--- set a variable to hold the list of all the emails ---> <cfloop query="getAllMail"> <cfif FROM CONTAINS 'postmaster' OR FROM CONTAINS 'MAILER-DAEMON' OR FROM CONTAINS 'Mail Delivery' OR Body CONTAINS 'Failed' OR Body CONTAINS 'no longer with' OR Body CONTAINS 'Notice'> <cfset emailList = Body /> <cfscript> function getEmails(str) { var email = "(['_a-z0-9-]+(\.['_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.(([a-z]{2,3})|(aero|coop|info|museum|name|jobs|travel)))"; var res = ""; var marker = 1; var matches = ""; matches = reFindNoCase(email,str,marker,marker); while(matches.len[1] gt 0) { res = listAppend(res,mid(str,matches.pos[1],matches.len[1])); marker = matches.pos[1] + matches.len[1]; matches = reFindNoCase(email,str,marker,marker); } return res; } </cfscript> <cfloop list="#getEmails(emailList)#" index="k"> <cfif NOT ListFind(Email_List,k)> <cfdump var="#k#"><br /> <cfquery datasource="Corporate_Production"> INSERT INTO InvalidEmails (TextBody) VALUES ('#Trim(k)#') </cfquery> <cfset DeleteOrder = ListPrepend(DeleteOrder, MessageNumber)> <cfset Email_List = ListAppend(Email_List,k) /> </cfif> </cfloop> <!--- Delete out of office emails ---> <cfelseif Body CONTAINS 'Out of Office' OR Subject CONTAINS 'Out of Office'> <cfset DeleteOrder = ListPrepend(DeleteOrder, MessageNumber)> <cfelseif Body CONTAINS 'Out of the Office' OR Subject CONTAINS 'Out of the Office'> <cfset DeleteOrder = ListPrepend(DeleteOrder, MessageNumber)> <cfelseif Body CONTAINS 'Reply' OR Subject CONTAINS 'Reply'> <cfset DeleteOrder = ListPrepend(DeleteOrder, MessageNumber)> <cfelseif Body CONTAINS 'Delay' OR Subject CONTAINS 'Delay'> <cfset DeleteOrder = ListPrepend(DeleteOrder, MessageNumber)> </cfif> </cfloop> </cfoutput> <cfif DeleteOrder NEQ ''> <cfset Count = 0 /> <cfloop list="#DeleteOrder#" delimiters="," index="i"> <cfpop server="" username="" password="" action="delete" messagenumber="#i#" name="deleteMail"> <cfset Count = Count + 1 /> </cfloop> <br /><cfdump var="#Count#"> EMAILS FOUND </cfif> <cfquery> DELETE FROM ML_EMAILS WHERE EMAIL IN (SELECT TEXTBODY FROM INVALIDEMAILS) </cfquery> <cfquery> DELETE FROM INVALIDEMAILS </cfquery> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:346951 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm