ManyWho Email Service
This service allows you to send emails from a Boomi Flow app. It supports attachments both as
$File uploads and from an
external source, configurable from the Flow.
The service is compatible with Heroku, and can be deployed by clicking the button below, which also handles any required configuration.
The service is a JAX-RS application, that by default runs on port 8080 (if you use the packaged JAR). To configure and build the service, you will need to have Apache Ant, Maven 3 and JDK 8+ installed. You will also need a Redis instance that you can point the service to.
If you want to support uploading attachments or fetching them from an external source, you will need to generate a
configuration file for the service by running the provided
build.xml script with Ant, and passing in any required
credentials for the desired source.
If you have Redis running on your local machine, then ensure it is running on the default port and set
Example: Configuring the service to store attachments in S3
An S3 bucket will need to be created, along with an IAM user with
s3:GetObject permissions on that bucket (along
s3:PutObject permissions if you wish to enable uploads using the service).
$ ant -Ds3.bucket=bucket -Ds3.accessKey=*** -Ds3.secretKey=*** -Ds3.region=*** -Dredis.url=***
Example: Configuring the service to fetch attachments from Box
To use Box in your own self-hosted instance of the service, you'll need to create a new app, configured to use "OAuth 2.0 with JWT (Server Authentication)", with Enterprise access and the "Manage users" scope. The option to "Generate User Access Tokens" must also be enabled.
$ ant -Ds3.box.appUserId=1234567 -Dbox.clientId=*** -Dbox.clientSecret=*** -Dbox.publicKeyId=a1b2c3d4 -Dbox.privateKey=*** -Dbox.privateKeyPassword=*** -Dredis.url=***
Once any configuration is complete, you can build the runnable shaded JAR:
$ mvn clean package
Running the following command will start the service listening on
$ java -jar target/email-*.jar
You can specify a custom port to run the service on by passing the
server.port property when running the JAR. The
following command will start the service listening on port 9090 (
$ java -Dserver.port=9090 -jar target/email-*.jar
Contributions are welcome to the project - whether they are feature requests, improvements or bug fixes! Refer to CONTRIBUTING.md for our contribution requirements.
This service is released under the MIT License.