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 -Dredis.url
to localhost
when running build.xml
.
An S3 bucket will need to be created, along with an IAM user with s3:GetObject
permissions on that bucket (along
with s3:PutObject
permissions if you wish to enable uploads using the service).
$ ant -Ds3.bucket=bucket -Ds3.accessKey=*** -Ds3.secretKey=*** -Ds3.region=*** -Dredis.url=***
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 0.0.0.0:8080/api/email/1
:
$ 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 (0.0.0.0:9090/api/email/1
):
$ 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.