I have a table (volunteers_2009) that has all the volunteers stored within, then I have a table (venues) that list all the different venues a volunteer could work (volunteers are assigned to one venue each, and that is stored within volunteers_2009.venue_id, which equals venues.id)
The venues table also has a column for emails, each email is for the chairman of each venue.
What I want to do is be able to automatically send each chairman an email with a CSV file of the volunteers table (volunteers_2009), and during that process, I want it to match up volunteers_2009.venue_id with venues.id and send the CSV with only the volunteers assigned to that chairman’s venue, so the chairman only receives a CSV of the volunteers that were assigned to their venue.
I would run thru the venues table, start at the beginning, match the venues.id to volunteers_2009.venue_id, then run the CSV export function to pull all the data WHERE venue_id = #, then attach it into the email and the recipient would be venues.chair_email.
I already have a export CSV function, I could just pass it the venue_id to pull the appropriate volunteers, and I have a working email function as well, so I can pass it the attachment and recipient.
Here is a sketch of the theory of the function of functions that would get this done: 
If you see a better way on how to go about this (if you can follow along with my poor hand writing), then please let me know, thanks.
I think the biggest thing your missing (if I’m reading this right) is the emailing part. Have a look at Swift Mailer for examples of how to do this.
I install this on each new PHP project to support exactly this.