SendGrid Library for Android
Java
Switch branches/tags
Nothing to show
Clone or download
danysantiago Update README.md
Fixed typo in Example.

Updated sample code to match code in sample source.
Latest commit 724ba16 Nov 3, 2015

README.md

sendgrid-android

This Android module allows you to quickly and easily send emails through SendGrid using Java in Android. It is basically a modified pull from SendGrid's Java Library, slightly modified to use Android's Http Library.

@Override
protected Void doInBackground(Void... params) {

  try {
    SendGrid sendgrid = new SendGrid(SENDGRID_USERNAME, SENDGRID_PASSWORD);

    SendGrid.Email email = new SendGrid.Email();

    // Get values from edit text to compose email
    // TODO: Validate edit texts
    email.addTo(mTo);
    email.setFrom(mFrom);
    email.setSubject(mSubject);
    email.setText(mText);

    // Attach image
    if (mUri != null) {
      email.addAttachment(mAttachmentName, mAppContext.getContentResolver().openInputStream(mUri));
    }

    // Send email, execute http request
    SendGrid.Response response = sendgrid.send(email);
    mMsgResponse = response.getMessage();

    Log.d("SendAppExample", mMsgResponse);

  } catch (SendGridException | IOException e) {
    Log.e("SendAppExample", e.toString());
  }

  return null;
}

Setup

Gradle

compile 'com.github.danysantiago:sendgrid-android:1'

Maven

<dependency>
    <groupId>com.github.danysantiago</groupId>
    <artifactId>sendgrid-android</artifactId>
    <version>1</version>
</dependency>

Download

Download this repository and add the Android Library Module to your project. Then add the dependency on your gradle file:

...
dependencies {
	...
    compile project(':sendgrid-android')
}

Additional Steps:

Because the Library uses an updated version of Apache's Http Library we need to add the following packaging options so the APK gets built correctly, without libraries conflicting. This goes into your app's build.gradle.

...
android {
	...
    packagingOptions {
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    }
}

Example App

This repository contains a full demo app to play with, currently supporting only image attachments.

Screenshot