A simple command line application for sending mails.
- 0.2.x = Java 11 before namespace change from 'javax' to 'jakarta'
- 0.1.0 = Java 8
Sometimes it's nice to have a way to send an email without installing anything (except Java) on the system. For example it could be used in an AWS CodeBuild "buildspec.yml" to send a mail on a failing build. It's like sSMTP, but without a configuration file. Only command line arguments are used to configure mail server, receiver, message and other stuff.
Make sure you have Java 11 installed on your machine.
You can download the latest JAR file here: https://github.com/fuinorg/sjsm/releases
java -jar sjsm-0.2.0-SNAPSHOT.jar <arguments>
Argument | Value | Required | Example |
---|---|---|---|
-host | SMTPS server name | yes | "smtp.no-where-no-no.com" |
-port | SMTPS port number (SSL/TLS) | yes | 465 |
-user | Your mailbox user | yes | "acc12345_from.not.exist" or "from.not.exist@no-where-no-no.com" (depends on your mail provider) |
-pw | Your mailbox password | yes | "xxxxxxx" |
-from | Sender's email address | yes | "from.not.exist@no-where-no-no.com" |
-to | Receiver's email address | yes | "to.not.exist@no-where-no-no.com" |
-subject | Mail subject | yes | "My subject" |
-message | Message body (TEXT or HTML) | yes | "<html><body><h1>This is a test mail</h1></body></html>" |
-html | - | no | - |
-charset | Mail encoding (defaults to "utf-8") | no | "utf-8" |
java -jar sjsm-0.2.0-SNAPSHOT.jar \
-host "smtp.no-where-no-no.com" \
-port 465 \
-user "acc12345_from.not.exist" \
-pw "xxxxxxx" \
-from "from.not.exist@no-where-no-no.com" \
-to "to.not.exist@no-where-no-no.com" \
-subject "My subject" \
-message "This is a test mail"
java -jar sjsm-0.2.0-SNAPSHOT.jar \
-host "smtp.no-where-no-no.com" \
-port 465 \
-user "acc12345_from.not.exist" \
-pw "xxxxxxx" \
-from "from.not.exist@no-where-no-no.com" \
-to "to.not.exist@no-where-no-no.com" \
-subject "My html subject" \
-message "<html><body><h1>This is a test mail</h1></body></html>" \
-html \
Be aware that passing your password via the command line will most probably be visible in your command line history.
Snapshots can be found on the OSS Sonatype Snapshots Repository.
Add the following to your .m2/settings.xml to enable snapshots in your Maven build:
<repository>
<id>sonatype.oss.snapshots</id>
<name>Sonatype OSS Snapshot Repository</name>
<url>http://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>