Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,13 @@ You can find the [Mailtrap Java API reference](https://mailtrap.github.io/mailtr
- [Sandbox send using template](examples/java/io/mailtrap/examples/testing/EmailExample.java)
- [Batch](examples/java/io/mailtrap/examples/testing/BatchExample.java)

### Inbound Email API

- [Folders](examples/java/io/mailtrap/examples/inbound/InboundFoldersExample.java)
- [Inboxes](examples/java/io/mailtrap/examples/inbound/InboundInboxesExample.java)
- [Messages](examples/java/io/mailtrap/examples/inbound/InboundMessagesExample.java)
- [Threads](examples/java/io/mailtrap/examples/inbound/InboundThreadsExample.java)

### Bulk Sending API

- [Bulk send](examples/java/io/mailtrap/examples/bulk/BulkSendExample.java)
Expand Down
2 changes: 1 addition & 1 deletion examples/java/io/mailtrap/examples/bulk/BatchExample.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

public class BatchExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final String SENDER_EMAIL = "sender@domain.com";
private static final String RECIPIENT_EMAIL = "recipient@domain.com";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

public class BulkSendExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final String SENDER_EMAIL = "sender@domain.com";
private static final String RECIPIENT_EMAIL = "recipient@domain.com";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

public class ContactEventsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final String CONTACT_IDENTIFIER = "b691272b-3e50-4813-997b-c7c9b317dcb2";

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@

public class ContactExportsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final long CONTACT_LIST_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final long CONTACT_LIST_ID = Long.parseLong(System.getenv("MAILTRAP_CONTACT_LIST_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

public class ContactFieldsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

public class ContactImportsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final long LIST_1_ID = 1L;
private static final long LIST_2_ID = 2L;
private static final String EMAIL = "contact_email@email.com";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

public class ContactListsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final String NAME_FOR_CREATE = "Clients";
private static final String NAME_FOR_UPDATE = "Customers";
private static final String SEARCH_QUERY = "Cust";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

public class ContactsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final long LIST_1_ID = 1L;
private static final long LIST_2_ID = 2L;
private static final String EMAIL = "contact_email@email.com";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@

public class EmailLogsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@

public class EmailTemplatesExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final String EMAIL_TEMPLATE_NAME = "My Email Template";
private static final String EMAIL_TEMPLATE_CATEGORY = "Promotion";
private static final String EMAIL_TEMPLATE_SUBJECT = "Promotion Template subject";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

public class AccountAccessExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String INBOX_ID = "2";
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final String INBOX_ID = System.getenv("MAILTRAP_INBOX_ID");

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

public class AccountsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@

public class ApiTokensExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

public class BillingExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@

public class PermissionsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ACCOUNT_ID = 1L;
private static final long ACCOUNT_ACCESS_ID = 3L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID"));
private static final long ACCOUNT_ACCESS_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ACCESS_ID"));

private static final String FIRST_RESOURCE_ID = "12";
private static final String SECOND_RESOURCE_ID = "21";
private static final String FIRST_RESOURCE_ID = System.getenv("MAILTRAP_FIRST_RESOURCE_ID");
private static final String SECOND_RESOURCE_ID = System.getenv("MAILTRAP_SECOND_RESOURCE_ID");

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package io.mailtrap.examples.inbound;

import io.mailtrap.config.MailtrapConfig;
import io.mailtrap.factory.MailtrapClientFactory;
import io.mailtrap.model.request.inbound.CreateInboundFolderRequest;
import io.mailtrap.model.request.inbound.UpdateInboundFolderRequest;

public class InboundFoldersExample {

private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
.token(TOKEN)
.build();

final var client = MailtrapClientFactory.createMailtrapClient(config);
final var folders = client.inboundApi().folders();

// List all inbound folders.
final var allFolders = folders.getList();
System.out.println(allFolders);

// Create an inbound folder.
final var created = folders.create(
CreateInboundFolderRequest.builder().name("Support").build());
System.out.println(created);

// Get an inbound folder by ID.
final var folder = folders.getById(created.getId());
System.out.println(folder);

// Rename an inbound folder.
final var updated = folders.update(created.getId(),
UpdateInboundFolderRequest.builder().name("Support (renamed)").build());
System.out.println(updated);

// Delete an inbound folder (removes the folder and all of its inboxes).
folders.delete(created.getId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package io.mailtrap.examples.inbound;

import io.mailtrap.config.MailtrapConfig;
import io.mailtrap.factory.MailtrapClientFactory;
import io.mailtrap.model.request.inbound.CreateInboundInboxRequest;
import io.mailtrap.model.request.inbound.UpdateInboundInboxRequest;

public class InboundInboxesExample {

private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long FOLDER_ID = Long.parseLong(System.getenv("MAILTRAP_INBOUND_FOLDER_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
.token(TOKEN)
.build();

final var client = MailtrapClientFactory.createMailtrapClient(config);
final var inboxes = client.inboundApi().inboxes();

// List inboxes in a folder.
final var allInboxes = inboxes.getList(FOLDER_ID);
System.out.println(allInboxes);

// Create a Mailtrap-hosted inbox (omit the domain ID). To create a
// custom-domain catch-all inbox, pass .domainId(<verified sending domain id>).
final var created = inboxes.create(FOLDER_ID,
CreateInboundInboxRequest.builder().name("Support inbox").build());
System.out.println(created);

// Get an inbox by ID.
final var inbox = inboxes.getById(FOLDER_ID, created.getId());
System.out.println(inbox);

// Rename an inbox.
final var updated = inboxes.update(FOLDER_ID, created.getId(),
UpdateInboundInboxRequest.builder().name("Support inbox (renamed)").build());
System.out.println(updated);

// Delete an inbox.
inboxes.delete(FOLDER_ID, created.getId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package io.mailtrap.examples.inbound;

import io.mailtrap.config.MailtrapConfig;
import io.mailtrap.factory.MailtrapClientFactory;
import io.mailtrap.model.request.emails.Address;
import io.mailtrap.model.request.inbound.InboundForwardRequest;
import io.mailtrap.model.request.inbound.InboundReplyRequest;

import java.util.List;

public class InboundMessagesExample {

private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long INBOX_ID = Long.parseLong(System.getenv("MAILTRAP_INBOUND_INBOX_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
.token(TOKEN)
.build();

final var client = MailtrapClientFactory.createMailtrapClient(config);
final var messages = client.inboundApi().messages();

// List received messages. Pass the previous page's last id to paginate
// (null for the first page).
final var page = messages.list(INBOX_ID, null);
System.out.println("Total: " + page.getTotalCount());
page.getData().forEach(msg -> System.out.println(" " + msg.getId() + " " + msg.getSubject()));

if (page.getData().isEmpty()) {
return;
}
final var messageId = page.getData().get(0).getId();

// Get a single message with its body and attachment download URLs.
final var message = messages.get(INBOX_ID, messageId);
System.out.println(message);

// Reply to a message (sends a real email to the original sender).
final var reply = messages.reply(INBOX_ID, messageId, InboundReplyRequest.builder()
.text("Thanks for reaching out!")
.html("<p>Thanks for reaching out!</p>")
.build());
System.out.println(reply);

// Reply to a message and copy the original's other recipients.
final var replyAll = messages.replyAll(INBOX_ID, messageId, InboundReplyRequest.builder()
.text("Looping everyone in.")
.build());
System.out.println(replyAll);

// Forward a message to new recipients (at least one `to` is required).
final var forward = messages.forward(INBOX_ID, messageId, InboundForwardRequest.builder()
.to(List.of(new Address("colleague@example.com")))
.text("Please take a look.")
.build());
System.out.println(forward);

// Delete a message.
messages.delete(INBOX_ID, messageId);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package io.mailtrap.examples.inbound;

import io.mailtrap.config.MailtrapConfig;
import io.mailtrap.factory.MailtrapClientFactory;

public class InboundThreadsExample {

private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long INBOX_ID = Long.parseLong(System.getenv("MAILTRAP_INBOUND_INBOX_ID"));

public static void main(String[] args) {
final var config = new MailtrapConfig.Builder()
.token(TOKEN)
.build();

final var client = MailtrapClientFactory.createMailtrapClient(config);
final var threads = client.inboundApi().threads();

// List conversation threads. Pass the previous page's last id to paginate
// (null for the first page).
final var page = threads.list(INBOX_ID, null);
System.out.println("Total: " + page.getTotalCount());
page.getData().forEach(thread -> System.out.println(" " + thread.getId() + " " + thread.getSubject()));

if (page.getData().isEmpty()) {
return;
}
final var threadId = page.getData().get(0).getId();

// Get a single thread with its messages embedded (oldest first).
final var thread = threads.get(INBOX_ID, threadId);
System.out.println(thread);

// Delete a thread.
threads.delete(INBOX_ID, threadId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

public class SubAccountsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final long ORGANIZATION_ID = 1L;
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final long ORGANIZATION_ID = Long.parseLong(System.getenv("MAILTRAP_ORGANIZATION_ID"));
private static final String SUB_ACCOUNT_NAME = "Acme Marketing";

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

public class BatchExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final String SENDER_EMAIL = "sender@domain.com";
private static final String RECIPIENT_EMAIL = "recipient@domain.com";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

public class ErrorsExample {

private static final String TOKEN = "<YOUR MAILTRAP TOKEN>";
private static final String TOKEN = System.getenv("MAILTRAP_API_KEY");
private static final String SENDER_EMAIL = "sender@domain.com";
private static final String RECIPIENT_EMAIL = "recipient@domain.com";

Expand Down
Loading
Loading