← Blog

Blog

Java: Send SMS and Email Notifications with NotificationAPI

Sahand Seifi 8 min read
  • Engineering
  • Tutorial
  • SMS
  • Email
  • Java

Learn how to send SMS and email notifications in your Java application using NotificationAPI. Includes setup, code samples, and security best practices.

YouTube Walkthrough

In this tutorial, you’ll learn how to send SMS and email notifications from your Java application using NotificationAPI. We’ll walk through setting up your project, adding dependencies, and sending your first notifications.

Code Example

See the full code example on GitHub: notificationapi-java-sms-example

Why Use NotificationAPI for Java?

Sending notifications (SMS, email, etc.) from Java requires a reliable third-party service. NotificationAPI offers a generous free tier (100 SMS and 3,000 emails per month), a simple API, and a dashboard for monitoring delivery and analytics.

Step 1: Create a NotificationAPI Account

Go to NotificationAPI and sign up for a free account. You’ll get access to your client ID and client secret, which you’ll need for authentication. The free tier includes:

  • 100 SMS messages per month
  • 3,000 emails per month

No credit card required.

Step 2: Add pom.xml Dependency and Install

Add the NotificationAPI Java SDK to your pom.xml:

<dependency>
  <groupId>com.notificationapi</groupId>
  <artifactId>notificationapi-java-sdk</artifactId>
  <version>1.0.0</version>
</dependency>

Then, install dependencies with Maven:

mvn install

Step 3: Send Your First SMS and Email (Java Code Example)

Replace the placeholders with your NotificationAPI credentials and recipient info.

package com.example;

import com.notificationapi.NotificationApi;
import com.notificationapi.model.*;

public class HelloWorld {
    public static void main(String[] args) {
        NotificationApi api = new NotificationApi(
                "YOUR_CLIENT_ID",
                "YOUR_CLIENT_SECRET");

        // Create user
        User user = new User("joe")
                .setEmail("joe@example.com")
                .setNumber("+15005550006");

        // Create and send notification request
        NotificationRequest request = new NotificationRequest("welcome", user)
                .setEmail(new EmailOptions()
                        .setSubject("Hello")
                        .setHtml("Hello, world!"))
                .setSms(new SmsOptions()
                        .setMessage("Hello, world!"));

        System.out.println("Sending notification request...");
        String response = api.send(request);
        System.out.println("Response: " + response);
    }
}

Key Points:

  • Use your own NotificationAPI credentials.
  • The phone number must be in international format (e.g., +1 for US/Canada).
  • You can send both SMS and email in a single request.

Security Best Practices

  1. Keep Credentials Secret
    Never expose your NotificationAPI credentials in frontend code or public repositories.

  2. Validate Recipients
    Only send notifications to users you trust or have verified.

  3. Use Static Templates
    Avoid including user-generated content in notification messages to prevent abuse.

  4. Implement Rate Limiting
    Prevent users from triggering too many notifications in a short period.

Monitoring and Analytics

NotificationAPI provides a dashboard to:

  • View delivery status
  • Track open and error rates
  • Analyze notification performance

Feedback and Support

Questions or feedback? Reach out at support@pingram.io.


References:

Ready when you are

Launch today.

Free tier with 3,000 emails, plus 100 SMS and calls per month. No credit card required. Paid plans start at $20/month.