Skip to main content

Minecraft Email Integration - Sendlix Newsletter Plugin

Connect your Minecraft server to the Sendlix email platform with our official BungeeCord plugin. Enable players to subscribe to newsletters, receive server notifications, and stay connected with your community through automated email campaigns.

๐ŸŽฎ Download Plugin | ๐Ÿ“š GitHub Repository

Why Use Sendlix Minecraft Email Integration?โ€‹

Transform your Minecraft server into a connected community platform with powerful email features:

  • ๐Ÿ“ง Player Newsletter Subscriptions: Allow players to subscribe with simple in-game commands
  • ๐Ÿ”’ Enterprise Email Security: Bank-grade encryption and spam protection
  • โšก High-Performance Architecture: Asynchronous processing with zero server lag
  • ๐Ÿ›ก๏ธ Built-in Protection: Rate limiting and email validation prevent abuse
  • ๐ŸŒ Multi-Server Support: Perfect for BungeeCord networks and server clusters
  • ๐Ÿ“Š Email Analytics: Track engagement and delivery rates through Sendlix dashboard

Plugin Overviewโ€‹

The Sendlix Newsletter Plugin seamlessly integrates your Minecraft server with professional email marketing capabilities. Built specifically for BungeeCord networks, this plugin enables server owners to build engaged communities through automated email communication.

Core Email Featuresโ€‹

  • ๐ŸŽฏ One-Command Subscription: Players subscribe with /newsletter <email> command
  • โœ… Smart Email Validation: Automatic format verification and domain checking
  • ๐Ÿš€ Asynchronous Processing: Non-blocking API calls maintain server performance
  • ๐Ÿ” Secure gRPC Communication: Enterprise-grade encryption with Sendlix backend
  • ๐ŸŒ Multi-Language Support: Customizable success and error messages
  • ๐Ÿ“ก Plugin Message API: Advanced server-to-server communication
  • โš™๏ธ Flexible Configuration: Complete customization through YAML config

Quick Installation Guideโ€‹

System Requirementsโ€‹

  • Minecraft Server: BungeeCord 1.20+ or Velocity 3.0+
  • Java Version: Java 8 or higher
  • Sendlix Account: Active Sendlix Plus subscription required for Group Services access
Minecraft Server Funding Support

For funding assistance with your Minecraft server hosting, please contact our team at info@sendlix.com. We offer special rates for gaming communities.

Step-by-Step Setupโ€‹

  1. ๐Ÿ“ฅ Download Plugin: Get the latest release from GitHub Releases

    • Download the .jar file from the assets section
    • Verify compatibility with your BungeeCord version
  2. ๐Ÿ“ Plugin Installation: Place the .jar file in your plugins/ directory

  3. ๐Ÿ”„ Server Restart: Restart your BungeeCord proxy server

  4. โš™๏ธ Configuration: Edit the auto-generated plugins/Sendlix Newsletter/config.yml

  5. ๐Ÿ”‘ API Setup: Configure your Sendlix credentials (see configuration section below)

Plugin Configurationโ€‹

The plugin automatically creates a config.yml file on first startup. Here's the complete configuration guide:

# Sendlix API Configuration
apiKey: "your_sendlix_api_key_here"
groupId: "your_newsletter_group_id_here"

# Security & Performance Settings
rateLimitSeconds: 5 # Cooldown between subscription attempts

# Legal Compliance (GDPR/CAN-SPAM)
privacyPolicyUrl: "https://yourdomain.com/privacy-policy"

Getting Your Sendlix API Credentialsโ€‹

  1. Create Sendlix Account: Register at sendlix.com
  2. Generate API Key:
    • Navigate to Dashboard โ†’ API Keys
    • Create new key with group.insert permission
    • Copy the generated API key
  3. Create Newsletter Group:
    • Go to Dashboard โ†’ Groups
    • Create new group for Minecraft newsletter subscribers
    • Copy the Group ID
  4. Update Configuration: Replace placeholder values in config.yml
Required Permissions

The API key must have group.insert permission to allow player newsletter subscriptions. Configure this in your Sendlix dashboard under API Key settings.

Player Commands & Usageโ€‹

Newsletter Subscription Commandโ€‹

Basic Syntax:

/newsletter <email> [--agree-privacy] [--silent]

Command Parameters:

ParameterTypeDescription
<email>RequiredValid email address (e.g., player@gmail.com)
--agree-privacyOptionalAccept privacy policy (required if configured)
--silentOptionalHide success messages, show only errors

Usage Examples:

# Basic subscription
/newsletter john.doe@gmail.com

# With privacy policy agreement
/newsletter player@server.com --agree-privacy

# Silent mode (no success messages)
/newsletter admin@domain.com --silent

# Combined flags
/newsletter user@email.com --silent --agree-privacy

Required Permission: sendlix.newsletter.add

Advanced Plugin Message APIโ€‹

Enable cross-server communication and advanced integrations with the Plugin Message API.

Communication Setupโ€‹

  • Channel Name: sendlix:newsletter
  • Protocol: Bidirectional communication (BungeeCord โ†” Backend Servers)
  • Data Format: UTF-8 strings and byte arrays

Status Messages (BungeeCord โ†’ Backend Server)โ€‹

When newsletter subscription status changes, BungeeCord sends automatic updates to the player's current backend server.

Message Structure:

Channel: "sendlix:newsletter"
Data: Status enum as byte array

Status Types:

StatusDescription
email_addedโœ… Email successfully subscribed to newsletter
email_not_addedโŒ Subscription failed (validation/API error)
email_already_existsโš ๏ธ Email already subscribed to newsletter

Trigger Commands (Backend Server โ†’ BungeeCord)โ€‹

Backend servers can initiate newsletter subscriptions by sending plugin messages.

Message Format:

Channel: "sendlix:newsletter"
Data: Command arguments as UTF-8 string

Command Examples:

"user@example.com"
"user@example.com --agree-privacy"
"user@example.com --silent"
"user@example.com --silent --agree-privacy"

Backend Server Integration Examplesโ€‹

Bukkit/Spigot Plugin Integrationโ€‹

public class NewsletterIntegration extends JavaPlugin implements PluginMessageListener {

@Override
public void onEnable() {
// Register plugin message channels
getServer().getMessenger().registerOutgoingPluginChannel(this, "sendlix:newsletter");
getServer().getMessenger().registerIncomingPluginChannel(this, "sendlix:newsletter", this);
}

// Trigger newsletter subscription from backend server
public void subscribePlayerToNewsletter(Player player, String email, boolean silent) {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
String command = email + " --agree-privacy";
if (silent) command += " --silent";

out.writeUTF(command);
plugin.getServer().sendPluginMessage(this, "sendlix:newsletter", out.toByteArray());
}

// Handle status updates from BungeeCord
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
if (channel.equals("sendlix:newsletter")) {
String status = new String(message, StandardCharsets.UTF_8);

switch (status) {
case "email_added":
player.sendMessage("ยงaโœ“ Successfully subscribed to newsletter!");
// Award achievement, update database, etc.
giveNewsletterReward(player);
break;

case "email_already_exists":
player.sendMessage("ยงeโš  You're already subscribed!");
break;

case "email_not_added":
player.sendMessage("ยงcโœ— Subscription failed. Please try again.");
logFailedSubscription(player);
break;
}
}
}

private void giveNewsletterBonus(Player player) {
// Example: Give player rewards for subscribing
player.getInventory().addItem(new ItemStack(Material.DIAMOND, 5));
player.sendMessage("ยง6Thank you for subscribing! Here are 5 diamonds as a welcome gift!");
}
}

Velocity Plugin Integrationโ€‹

@Plugin(id = "newsletter-integration")
public class NewsletterVelocityPlugin {

private final ProxyServer proxy;

@Inject
public NewsletterVelocityPlugin(ProxyServer proxy) {
this.proxy = proxy;
}

@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
// Register plugin message channel for cross-server communication
proxy.getChannelRegistrar().register(MinecraftChannelIdentifier.from("sendlix:newsletter"));
}

// Trigger newsletter subscription from backend server
public void triggerNewsletterSubscription(Player player, String email) {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF(email + " --silent --agree-privacy");

player.sendPluginMessage(
MinecraftChannelIdentifier.from("sendlix:newsletter"),
out.toByteArray()
);
}

// Handle subscription status updates
@Subscribe
public void onPluginMessage(PluginMessageEvent event) {
if (event.getIdentifier().getId().equals("sendlix:newsletter")) {
String status = new String(event.getData(), StandardCharsets.UTF_8);
Player player = event.getTarget();
switch (status) {
case "email_added":
player.sendMessage(Component.text("โœ“ Successfully subscribed to newsletter!").color(NamedTextColor.GREEN));
// Optionally give rewards or bonuses
giveNewsletterBonus(player);
break;

case "email_already_exists":
player.sendMessage(Component.text("โš  You're already subscribed!").color(NamedTextColor.YELLOW));
break;

case "email_not_added":
player.sendMessage(Component.text("โœ— Subscription failed. Please try again.").color(NamedTextColor.RED));
logFailedSubscription(player);
break;
}
}
}
}

Technical Specificationsโ€‹

API Integration Detailsโ€‹

The plugin leverages modern technologies for optimal performance and security:

  • ๐Ÿ”Œ Protocol: gRPC over HTTP/2 for efficient communication
  • ๐Ÿ” Authentication: Token-based API authentication with Sendlix
  • ๐Ÿ›ก๏ธ Encryption: TLS/SSL encrypted connections for data security
  • ๐Ÿ“Š Data Format: Protocol Buffers for fast serialization
  • โšก Performance: Asynchronous processing prevents server lag

Security Featuresโ€‹

  • ๐Ÿšซ Rate Limiting: Configurable cooldowns prevent spam and abuse
  • โœ… Email Validation: Server-side format and domain verification
  • ๐Ÿ”’ Secure Communication: All API calls use TLS encryption
  • ๐ŸŽซ Token Authentication: Secure API access with revocable tokens
  • ๐Ÿ“ Audit Logging: Complete subscription attempt logging for security

Support & Communityโ€‹

Getting Helpโ€‹

Contributingโ€‹

The Sendlix Minecraft plugin is open source and welcomes contributions:

  • Source Code: GitHub Repository
  • License: Open source under standard terms
  • Pull Requests: Community contributions welcome
  • Feature Requests: Submit ideas via GitHub Issues

Transform your Minecraft server into a connected community platform with Sendlix email integration. Start building stronger player relationships today!