LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
  • MCP server
Get started
Send email
    Send with
    SMTP
      IntroductionNodemailerPHPMailerPython (smtplib)Go SMTPRuby (Mail)
    Email activitySchedulingTest emailsTLSIdempotencySuppressionsTagsInline imagesData retentionSending limits
    Tracking
Receive email
Manage
Resources
SMTP

PHPMailer

Use PHPMailer to send email through the Lettermint SMTP relay from PHP.

This guide covers SMTP integration. For full configuration options and available headers, see the SMTP Introduction.

Installation

Install PHPMailer via Composer:

TerminalCode
composer require phpmailer/phpmailer

Basic configuration

Use environment variables for credentials:

Code
<?php // Load from environment or config $smtpHost = 'smtp.lettermint.co'; $smtpUsername = 'lettermint'; $smtpPassword = getenv('LETTERMINT_PROJECT_TOKEN'); // Your Project API token

Advanced features

Multiple recipients

Code
$mail->addAddress('user1@example.com'); $mail->addAddress('user2@example.com'); $mail->addCC('manager@yourdomain.com'); $mail->addBCC('archive@yourdomain.com');

Attachments

Code
$mail->addAttachment('/path/to/file.pdf'); $mail->addAttachment('/path/to/image.jpg', 'custom-name.jpg');

Custom headers

Code
$mail->addCustomHeader('X-Custom-Header', 'Custom Value'); $mail->addCustomHeader('X-Priority', '1');

Lettermint headers

Add Lettermint-specific headers for tags, metadata, and routing:

Code
// Existing singular tag $mail->addCustomHeader('X-LM-Tag', 'order-confirmation'); // Structured tags. PHPMailer permits repeated custom headers. $mail->addCustomHeader('X-LM-Tags', 'campaign=orders, environment=production'); $mail->addCustomHeader('X-LM-Tags', 'variant=B'); // Metadata for tracking (included in webhooks) $mail->addCustomHeader('X-LM-Metadata-order_id', '12345'); $mail->addCustomHeader('X-LM-Metadata-customer_id', 'cust_789'); // Route selection $mail->addCustomHeader('X-Lettermint-Route', 'transactional');

X-LM-Tag is the singular tag. X-LM-Tags contains structured pairs. Call addCustomHeader again to add another X-LM-Tags field.

See the SMTP Introduction for full details on available headers and their formats.

NodemailerPython (smtplib)
On this page
  • Installation
  • Basic configuration
  • Advanced features
    • Multiple recipients
    • Attachments
    • Custom headers
    • Lettermint headers
PHP
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { // Server settings $mail->isSMTP(); $mail->Host = 'smtp.lettermint.co'; $mail->SMTPAuth = true; $mail->Username = 'lettermint'; $mail->Password = getenv('LETTERMINT_PROJECT_TOKEN'); $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; // Recipients $mail->setFrom('sender@yourdomain.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); // Content $mail->isHTML(true); $mail->Subject = 'Test Email'; $mail->Body = '<h1>Hello!</h1><p>This is a test email.</p>'; $mail->AltBody = 'Hello! This is a test email.'; $mail->send(); echo 'Message sent successfully'; } catch (Exception $e) { echo "Message could not be sent. Error: {$mail->ErrorInfo}"; }
PHP
PHP
PHP
PHP
PHP
PHP