Handle arrays passed as recipients gracefully

Not handling arrays gracefully was causing issues with various mail
interceptors that automatically pass an array (even of length 1) to the
mail delivery mechanism. This fix makes it such that arrays of length
one are converted to strings and arrays longer than length 1 raise an
error since this isn't supported by the Message Bus API.