Skip to content

torehund/sendgrid-java

 
 

Repository files navigation

SendGrid-Java

This Java module allows you to quickly and easily send emails through SendGrid using Java.

BuildStatus

// SendGridExample.java
import com.sendgrid.*;

public class SendGridExample {
  public static void main(String[] args) {
    SendGrid sendgrid = new SendGrid("SENDGRID USERNAME", "SENDGRID_PASSWORD");

    SendGrid.Email email = new SendGrid.Email();
    email.addTo("[email protected]");
    email.setFrom("[email protected]");
    email.setSubject("Hello World");
    email.setText("My first email with SendGrid Java!");

    try {
      SendGrid.Response response = sendgrid.send(email);
      System.out.println(response.getMessage());
    }
    catch (SendGridException e) {
      System.err.println(e);
    }
  }
}

Compile and run this example with

$ javac -classpath sendgrid-1.2.1-jar.jar:. SendGridExample.java && java -classpath sendgrid-1.2.1-jar.jar:. SendGridExample

Installation

Choose your installation method - Maven w/ Gradle (recommended) or Jar file.

via Maven w/ Gradle

Add the following to your build.gradle file in the root of your project.

...
dependencies {
  ...
  compile 'com.sendgrid:sendgrid-java:1.2.1'
}

repositories {
  mavenCentral()
}
...

Then import the library - in the file appropriate to your Java project.

import com.sendgrid.SendGrid;

via jar file

You can just drop the jar file in. It's a fat jar - it has all the dependencies built in.

sendgrid-java.jar

import com.sendgrid.*;

Usage

To begin using this library, initialize the SendGrid object with your SendGrid credentials.

import com.sendgrid.SendGrid;
SendGrid sendgrid = new SendGrid("sendgrid_username", "sendgrid_password");

Add your message details.

Email email = new Email();
email.addTo("[email protected]");
email.addToName("Example Guy");
email.setFrom("[email protected]");
email.setSubject("Hello World");
email.setText("My first email through SendGrid");

Send it.

sendgrid.send(email);

To

email.addTo("[email protected]");
// or
email.setTos(["[email protected]"]);

From

email.setFrom("[email protected]");

From Name

email.setFromName("Other Dude");

Reply To

email.setReplyTo("[email protected]");

Subject

email.setSubject("Hello World");

Text

email.setText("This is some text of the email.");

Html

email.setHtml("<h1>My first email through SendGrid");

Attachments

email.addAttachment("text.txt", "contents");
// or
email.addAttachment("image.png", new File("./image.png"));
// or
email.addAttachment("text.txt", new InputStream(new File("./file.txt")));

The mail object extends the SMTPAPI object which is found in STMAPI-Java.

header.addSubstitution("key", "value");
// or
header.setSubstitutions("key", ["value1", "value2"]);

JSONObject subs = header.getSubstitutions();
header.addUuniqueAarg("key", "value");
// or
Map map = new HashMap<String, String>();
map.put("unique", "value");
header.setUniqueArgs(map);
// or
JSONObject map = new JSONObject();
map.put("unique", "value");
header.setUniqueArgs(map);

JSONObject args = header.getUniqueArgs();
header.addCategory("category");
// or
header.addCategory(["categories"]);
// or
header.setCategories(["category1", "category2"]);

String[] cats = header.getCategories();
header.addSection("key", "section");
// or
Map newSec = new HashMap();
newSec.put("-section-", "value");
header.setSections(newSec);
// or
JSONObject newSec = new JSONObject();
newSec.put("-section-", "value");
header.setSections(newSec);

JSONObject sections = header.getSections();
header.addFilter("filter", "setting", "value");
header.addFilter("filter", "setting", 1);

JSONObject filters = header.getFilters();

Get Headers

String headers = header.jsonString();

Filters/Apps

You can enable and configure Apps.

SendGrid sendgrid = new SendGrid("sendgrid_username", "sendgrid_password");
sendgrid.addTo("[email protected]");
...
sendgrid.addFilter("bcc", "enabled", 1);
sendgrid.addFilter("bcc", "email", "[email protected]");

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Running Tests

The existing tests in the src/test directory can be run using gradle with the following command:

$ ./gradlew test -i

Generating the jar

$ ./gradlew build

Example App

We have an example app using this library. This can be helpful to get a grasp on implementing it in your own app.

github.com/scottmotte/sendgrid-java-example

License

Licensed under the MIT License.

About

SendGrid Java helper library

Resources

Stars

Watchers

Forks

Packages

No packages published