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
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โ
-
๐ฅ Download Plugin: Get the latest release from GitHub Releases
- Download the
.jar
file from the assets section - Verify compatibility with your BungeeCord version
- Download the
-
๐ Plugin Installation: Place the
.jar
file in yourplugins/
directory -
๐ Server Restart: Restart your BungeeCord proxy server
-
โ๏ธ Configuration: Edit the auto-generated
plugins/Sendlix Newsletter/config.yml
-
๐ 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โ
- Create Sendlix Account: Register at sendlix.com
- Generate API Key:
- Navigate to Dashboard โ API Keys
- Create new key with
group.insert
permission - Copy the generated API key
- Create Newsletter Group:
- Go to Dashboard โ Groups
- Create new group for Minecraft newsletter subscribers
- Copy the Group ID
- Update Configuration: Replace placeholder values in
config.yml
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:
Parameter | Type | Description |
---|---|---|
<email> | Required | Valid email address (e.g., player@gmail.com) |
--agree-privacy | Optional | Accept privacy policy (required if configured) |
--silent | Optional | Hide 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:
Status | Description |
---|---|
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โ
- ๐ง Email Support: info@sendlix.com
- ๐ Bug Reports: GitHub Issues
- ๐ Documentation: Sendlix Docs
- ๐ Main Platform: sendlix.com
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!