Is it a bird, a plane, or is it…?

Recently I worked on a community portrait project for a collegue, Ben Pearse. Ben took it upon himself to photograph as many people in the community who wanted a portrait, which was subequently made into a projection for all to see. Over two days Ben made 120 portraits while I (handsomely) manned the computer and data-wrangled images from his tethered Nikon. During one occasional lull it occurred to me, Ben has to send out an email to each and every one of these people, with links to their images. Hmmm, been there, done that and I’m glad that’s not me. I’m outa here at 5…

I’ve been in a similar situation photographing portraits for a local school. While it was nowhere near the amount Ben produced, the logic of distributing images confounded me so much, that task went to a dedicated service dealing explicitly in school photography. But still, it bugged me that I couldn’t at least work out some part of the distribution chain. How hard could it be to take a portrait and email it to… 50, 100, 500 or 1,000 people?

Bing…

Aside from the image itself, what is the crucial piece of information that is required to get an image to someone’s inbox?

An email address.

Names are important too, but it’s largely irrelevant when the very last task in this entire pipeline is sending an email.

So the email is at the core of this thing I built. It’s not an app, or a workflow. It’s more like a series of logical steps (or tasks) that, if followed correctly, allows you to get your images (yes, it can be more than one) where they need to go: straight into the right inbox.

I want to emphasise that I’m not a programmer at all. The following is cobbled together in such a way that it vastly reduces the repetitive upload, copy URL and email stages. Imagine having to do that hundreds of times.

Aside from the image itself, what is the crucial piece of information that is required to get an image to someone’s inbox?

It doens’t really matter what capture software you use except for one thing: you need the ability to add this email address to the metadata of your chosen images. I know Lightroom, Exposure X7 and the latest version of Darktable all have a dedicated email field, but if yours doesn’t then another field will do just as well. Any field that’s unsed and free will do.

email address bottom right!
email address bottom right!

If you look at the above screengrab from Exposure X7 you’ll see a recent family groups shoot I did. It wasn’t a frantic and there was plenty of time between groups. All I did After each session was select all the images and add their email to the ‘Email’ metadata field. Done. Next. Repeat the same process of adding their email to that field.

Irrespective of what editing program you use the next crucial part of the process is exporting your selected images to separate directories (if indeed your project is going to multiple clients):

I don’t know about Lightroom but in the two apps I use (Exposure and darktable) you’re able to use a variable in the export path which adds the final images into a unique directory named (you guessed it):

In each directory are the files for each session. It’s not really important how the files are named but you can also incorporate the email address to each filename if you wish.

The remaining steps go something like:

  • Uploading fodlers and files via FTP to a temporary directory
  • In ProcessWire create either a single shoot or multiple-person project
  • Refresh the Data Gathering page
  • Copy the CSV data fro that page into the Import Pages CSV module and import. This copies the files from the temp directory into ProcessWire. 

After these steps are completed you can then copy the final set of CSV data to your chosen mailing list package and merge that data into your mailout. MailMeteor for Google Sheets works a treat for this. Or there’s the Mail Merge add-on for Thunderbird if you want to keep things free.

There are some caveats (below) but there are no dependencies with this setup. You could, conceivably, keep this running for years.

Caveats

  • Image sizes. Web servers need a fair bit of grunt to process full-size JPEGs down to a viewable thumbail (which this needs to do on the back-end and front-end), especially if you have more then three or four images per person.
  • There’s a bit of copy/pasting but nowhere near as much if you were to send out emails to 10 or 20 people. This could quite easily handle hundreds of people.
  • There’s no ecommerce in this setup at all, but if you’re more technically-minded than I am, all the code is there for you to tinker with.

If you’ve reached this far and you have questions or comments then sing out.

I will be releasing this for a modest fee to anyone who’s interested. All you need is your own domain name running on a decent shared host (or better) with either DirectAdmin or cPanel containing recent versions of PHP and MySQL. I would seriously recommend a server closest to where you are.