Logon8n中文教程

邮件自动化实战

构建智能邮件自动化系统,提升营销和客服效率

邮件自动化实战

邮件自动化是最常见也是最实用的自动化场景之一。本教程将教你构建多种邮件自动化工作流,从简单的通知到复杂的营销漏斗。

🎯 学习目标

  • 掌握多种邮件触发场景
  • 学会设计个性化邮件内容
  • 构建完整的邮件营销漏斗
  • 实现客户服务自动化

📧 项目一:新用户欢迎邮件系列

业务场景

用户注册后自动发送一系列欢迎邮件,引导用户完成关键操作。

工作流架构

Webhook触发 → 用户信息处理 → 延时节点 → 个性化邮件 → 行为跟踪

实现步骤

1. 设置用户注册触发器

// Webhook 节点配置
// 监听用户注册事件
{
  "userId": "12345",
  "email": "[email protected]", 
  "firstName": "张",
  "lastName": "三",
  "registrationDate": "2024-01-15T10:30:00Z",
  "source": "website"
}

2. 用户数据处理

使用 Set 节点标准化用户数据:

// 处理用户信息
{
  "fullName": "{{ $json.firstName }}{{ $json.lastName }}",
  "email": "{{ $json.email }}",
  "welcomeDiscount": "WELCOME20",
  "registrationSource": "{{ $json.source }}",
  "daysSinceRegistration": 0
}

3. 立即发送欢迎邮件

邮件模板 - 欢迎邮件

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>欢迎加入我们!</title>
</head>
<body style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;">
    <div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 40px; text-align: center;">
        <h1 style="color: white; margin: 0;">🎉 欢迎加入我们!</h1>
    </div>
    
    <div style="padding: 30px;">
        <h2>Hi {{ $json.fullName }},</h2>
        
        <p>感谢您注册成为我们的用户!我们很高兴您选择了我们的服务。</p>
        
        <div style="background: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0;">
            <h3>🎁 新用户专享优惠</h3>
            <p>使用优惠码 <strong style="color: #007bff;">{{ $json.welcomeDiscount }}</strong> 享受8折优惠!</p>
        </div>
        
        <div style="text-align: center; margin: 30px 0;">
            <a href="https://yoursite.com/start?user={{ $json.email }}" 
               style="background: #007bff; color: white; padding: 12px 30px; text-decoration: none; border-radius: 5px;">
                开始使用
            </a>
        </div>
        
        <h3>接下来您可以:</h3>
        <ul>
            <li>✅ 完善个人资料</li>
            <li>🎯 设置您的偏好</li>
            <li>📚 查看新手指南</li>
            <li>💬 加入用户社区</li>
        </ul>
    </div>
</body>
</html>

4. 延时发送后续邮件

使用 Wait 节点设置延时:

第二封邮件(3天后)- 使用指南

// Wait 节点配置
{
  "amount": 3,
  "unit": "days"
}
<div style="padding: 30px;">
    <h2>Hi {{ $json.fullName }},</h2>
    
    <p>注册已经3天了,您是否已经开始探索我们的功能了呢?</p>
    
    <div style="background: #e3f2fd; padding: 20px; border-radius: 8px;">
        <h3>📚 新手指南精选</h3>
        <ul>
            <li><a href="/guide/getting-started">5分钟快速上手指南</a></li>
            <li><a href="/guide/best-practices">最佳实践案例</a></li>
            <li><a href="/guide/advanced-tips">进阶使用技巧</a></li>
        </ul>
    </div>
    
    <p>如果您有任何问题,随时可以回复这封邮件联系我们!</p>
</div>

第三封邮件(7天后)- 功能推荐

<div style="padding: 30px;">
    <h2>Hi {{ $json.fullName }},</h2>
    
    <p>一周过去了,我们想分享一些您可能感兴趣的功能:</p>
    
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
        <div style="border: 1px solid #ddd; padding: 15px; border-radius: 8px;">
            <h4>🤖 自动化工具</h4>
            <p>让重复工作自动完成</p>
        </div>
        <div style="border: 1px solid #ddd; padding: 15px; border-radius: 8px;">
            <h4>📊 数据分析</h4>
            <p>洞察您的业务数据</p>
        </div>
    </div>
</div>

📈 项目二:购物车遗弃挽回

业务场景

用户添加商品到购物车但未完成购买,自动发送挽回邮件。

实现策略

1. 触发条件检测

// 检查购物车状态
// Cron 节点:每小时检查一次
"0 * * * *"

// HTTP Request 节点:查询遗弃购物车
SELECT cart_id, user_email, items, total_amount, created_at
FROM shopping_carts 
WHERE status = 'abandoned' 
AND created_at > NOW() - INTERVAL 24 HOURS
AND last_reminder_sent < NOW() - INTERVAL 4 HOURS

2. 个性化内容生成

// Set 节点:生成个性化内容
{
  "customerName": "{{ $json.user_name }}",
  "cartTotal": "{{ $json.total_amount }}",
  "itemCount": "{{ $json.items.length }}",
  "topItem": "{{ $json.items[0].name }}",
  "discountCode": "COMEBACK15",
  "urgencyMessage": "{{ $json.total_amount > 500 ? '限时优惠,错过可惜!' : '赶快完成购买吧!' }}"
}

3. 分层挽回策略

第一次提醒(1小时后)- 温和提醒

<div style="padding: 30px;">
    <h2>{{ $json.customerName }},您忘记了什么?</h2>
    
    <p>您的购物车里还有 {{ $json.itemCount }} 件商品在等待您:</p>
    
    <div style="border: 1px solid #ddd; padding: 20px; margin: 20px 0;">
        <h3>🛒 您的购物车</h3>
        <p><strong>{{ $json.topItem }}</strong> 等 {{ $json.itemCount }} 件商品</p>
        <p>总计:<strong>¥{{ $json.cartTotal }}</strong></p>
    </div>
    
    <div style="text-align: center;">
        <a href="https://yourstore.com/cart?token={{ $json.cart_token }}" 
           style="background: #28a745; color: white; padding: 15px 30px; text-decoration: none; border-radius: 5px;">
            完成购买
        </a>
    </div>
</div>

第二次提醒(24小时后)- 优惠激励

<div style="padding: 30px;">
    <h2>🎁 特别为您准备的优惠!</h2>
    
    <div style="background: #fff3cd; border: 1px solid #ffeaa7; padding: 20px; border-radius: 8px;">
        <h3>💰 15% 折扣优惠码</h3>
        <p>使用优惠码 <strong>{{ $json.discountCode }}</strong> 立即享受85折优惠!</p>
        <p style="color: #856404;">⏰ 此优惠码48小时内有效</p>
    </div>
    
    <p>{{ $json.urgencyMessage }}</p>
</div>

第三次提醒(3天后)- 最后机会

<div style="padding: 30px;">
    <h2>⚠️ 最后机会!</h2>
    
    <p>您的购物车即将过期,商品可能会被释放给其他客户。</p>
    
    <div style="background: #f8d7da; border: 1px solid #f5c6cb; padding: 20px; border-radius: 8px;">
        <h3>🚨 紧急提醒</h3>
        <p>您的购物车将在24小时后自动清空</p>
        <p>¥{{ $json.cartTotal }} 的商品正在等待您</p>
    </div>
</div>

🎂 项目三:客户生日祝福自动化

实现思路

1. 定时检查生日客户

// Cron 节点:每天上午9点检查
"0 9 * * *"

// 查询今天生日的客户
SELECT user_id, email, first_name, birth_date, vip_level
FROM users 
WHERE MONTH(birth_date) = MONTH(CURDATE()) 
AND DAY(birth_date) = DAY(CURDATE())
AND email_verified = 1

2. VIP等级差异化处理

// IF 节点:根据VIP等级分流
{{ $json.vip_level === "premium" || $json.vip_level === "gold" }}

VIP客户生日邮件

<div style="padding: 30px; background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);">
    <div style="text-align: center;">
        <h1>🎉 生日快乐,{{ $json.first_name }}!</h1>
        <p style="font-size: 18px;">今天是您的特别日子!</p>
    </div>
    
    <div style="background: white; padding: 30px; border-radius: 15px; margin: 20px 0;">
        <h2>🎁 VIP专属生日礼物</h2>
        <ul>
            <li>💎 价值¥200的生日礼金</li>
            <li>🎯 全场商品9折优惠</li>
            <li>🚚 免费顺丰配送</li>
            <li>⭐ 双倍积分奖励</li>
        </ul>
        
        <div style="text-align: center; margin-top: 30px;">
            <a href="https://yourstore.com/birthday-gift?user={{ $json.user_id }}"
               style="background: #ff6b6b; color: white; padding: 15px 40px; text-decoration: none; border-radius: 25px; font-size: 18px;">
                领取生日礼物
            </a>
        </div>
    </div>
</div>

普通客户生日邮件

<div style="padding: 30px;">
    <h2>🎂 {{ $json.first_name }},生日快乐!</h2>
    
    <p>在这个特殊的日子里,我们为您准备了一份小礼物:</p>
    
    <div style="background: #f8f9fa; padding: 20px; border-radius: 8px; text-align: center;">
        <h3>🎁 生日专享</h3>
        <p><strong>85折优惠券</strong></p>
        <p>优惠码:<code>BIRTHDAY2024</code></p>
        <p style="color: #6c757d;">有效期:7天</p>
    </div>
</div>

🔔 项目四:系统通知邮件

监控报警邮件

// Webhook 触发:系统监控报警
{
  "alertType": "server_down",
  "serverName": "web-server-01", 
  "timestamp": "2024-01-15T14:30:00Z",
  "severity": "critical",
  "message": "服务器响应超时"
}

报警邮件模板

<div style="padding: 20px; font-family: monospace;">
    <div style="background: #dc3545; color: white; padding: 15px; border-radius: 5px;">
        <h2>🚨 系统报警 - {{ $json.severity.toUpperCase() }}</h2>
    </div>
    
    <div style="margin: 20px 0;">
        <h3>报警详情</h3>
        <table style="width: 100%; border-collapse: collapse;">
            <tr>
                <td style="padding: 8px; border: 1px solid #ddd;"><strong>报警类型</strong></td>
                <td style="padding: 8px; border: 1px solid #ddd;">{{ $json.alertType }}</td>
            </tr>
            <tr>
                <td style="padding: 8px; border: 1px solid #ddd;"><strong>服务器</strong></td>
                <td style="padding: 8px; border: 1px solid #ddd;">{{ $json.serverName }}</td>
            </tr>
            <tr>
                <td style="padding: 8px; border: 1px solid #ddd;"><strong>时间</strong></td>
                <td style="padding: 8px; border: 1px solid #ddd;">{{ $json.timestamp }}</td>
            </tr>
            <tr>
                <td style="padding: 8px; border: 1px solid #ddd;"><strong>详情</strong></td>
                <td style="padding: 8px; border: 1px solid #ddd;">{{ $json.message }}</td>
            </tr>
        </table>
    </div>
    
    <div style="background: #fff3cd; padding: 15px; border-radius: 5px;">
        <p><strong>⚠️ 需要立即处理</strong></p>
        <p>请检查服务器状态并采取必要的恢复措施。</p>
    </div>
</div>

📊 邮件效果分析

追踪邮件打开率

// 在邮件中添加追踪像素
<img src="https://yoursite.com/track/open?email={{ $json.email }}&campaign=welcome" 
     width="1" height="1" style="display:none;" />

追踪链接点击

// 使用重定向链接追踪点击
https://yoursite.com/track/click?url=https://target-url.com&email={{ $json.email }}

数据收集工作流

// Webhook 接收追踪数据
{
  "event": "email_opened",
  "email": "[email protected]",
  "campaign": "welcome_series",
  "timestamp": "2024-01-15T10:30:00Z"
}

// 存储到数据库
INSERT INTO email_analytics (email, event, campaign, timestamp)
VALUES (?, ?, ?, ?)

🎯 最佳实践

1. 邮件设计原则

  • 响应式设计:确保在所有设备上正常显示
  • 清晰的CTA:明确的行动召唤按钮
  • 个性化内容:使用用户数据个性化邮件
  • A/B测试:测试不同的主题行和内容

2. 发送频率控制

// 检查发送频率
const lastEmailSent = new Date($json.last_email_date);
const hoursSinceLastEmail = (new Date() - lastEmailSent) / (1000 * 60 * 60);

// 避免频繁发送
{{ hoursSinceLastEmail >= 24 }}

3. 退订管理

<!-- 在每封邮件底部添加退订链接 -->
<div style="text-align: center; color: #6c757d; font-size: 12px; margin-top: 30px;">
    <p>如果您不想再收到此类邮件,请 
       <a href="https://yoursite.com/unsubscribe?email={{ $json.email }}&token={{ $json.unsubscribe_token }}">
         点击退订
       </a>
    </p>
</div>

🚀 进阶功能

动态内容生成

使用 AI 生成个性化邮件内容:

// 调用 OpenAI API 生成个性化推荐
{
  "model": "gpt-3.5-turbo",
  "messages": [
    {
      "role": "user", 
      "content": `基于用户购买历史 ${JSON.stringify($json.purchase_history)},生成3个产品推荐,每个推荐包含产品名称和推荐理由,用中文回复。`
    }
  ]
}

多语言支持

// 根据用户语言偏好选择邮件模板
const templates = {
  'zh': 'welcome_email_zh.html',
  'en': 'welcome_email_en.html', 
  'ja': 'welcome_email_ja.html'
};

const template = templates[$json.user_language] || templates['zh'];

邮件自动化是提升用户体验和营销效率的强大工具。通过合理的设计和实施,你可以显著提高用户参与度和转化率。继续实践和优化,打造属于你的邮件营销系统!