Based on the latest RuoyiPlus backend architecture, 5 DOs / 5 Controllers, menu ID starting from 11500, building an enterprise-grade email sending/receiving and marketing automation system
1. Enhancement Positioning & Architecture
1.1 Product Positioning
RuoYiPlus Mail provides enterprise-grade enhancements around three core areas: multi-channel sending, email receiving management, and marketing automation, building a highly reliable, auditable enterprise email infrastructure.
1.2 Module Scale
| Metric | Value |
|---|
| Data Objects (DO) | 5 |
| Controllers | 5 |
| Menu ID Start | 11500 |
| Maven Module | yudao-module-mail |
1.3 Core Data Tables
| Table Name | Description |
|---|
mail_attachment | Attachment Management |
mail_blacklist | Blacklist Management |
mail_send_log | Send Log |
mail_receive_log | Receive Log |
mail_template | Email Template |
graph TB
subgraph "RuoYiPlus Mail Enhanced Architecture"
subgraph "Sending Layer"
A1[Alibaba Cloud DirectMail]
A2[AWS SES]
A3[Local SMTP]
A4[Corporate Email]
end
subgraph "Engine Layer"
B1[Async Sending]
B2[Smart Retry]
B3[Rate Limiting]
B4[Batch Optimization]
end
subgraph "Business Layer"
C1[Template Engine]
C2[Email Receiving]
C3[Marketing Email]
C4[Attachment Management]
end
subgraph "Monitoring Layer"
D1[Full-Chain Tracking]
D2[Statistical Analysis]
D3[Send Audit]
D4[Compliance Reports]
end
end
A1 --> B1
A2 --> B1
A3 --> B1
A4 --> B1
B1 --> B2
B2 --> B3
B3 --> B4
B4 --> C1
C1 --> C2
C2 --> C3
C3 --> C4
C4 --> D1
D1 --> D2
D2 --> D3
D3 --> D4
1.4 Capability Comparison
| Dimension | Yudao Native Capability | RuoYiPlus Mail Enhancement |
|---|
| Sending Capability | Simple sending | Multi-channel + async sending |
| Receiving Capability | None | IMAP/POP3 receiving |
| Template Management | None | Template engine + variable substitution |
| Attachment Management | Simple attachments | Multi-storage + version management |
| Send Monitoring | None | Full-chain tracking + statistical analysis |
| Marketing Email | None | Marketing email + batch sending |
| Audit Compliance | Simple logging | Full-chain email send audit |
2. Multi-Channel Sending Architecture
2.1 Sending Channel Architecture
graph TB
subgraph "Sending Channels"
subgraph "Domestic Channels"
A1[Alibaba Cloud DirectMail]
A2[Tencent Corporate Email]
end
subgraph "International Channels"
B1[AWS SES]
end
subgraph "Self-built Channels"
C1[Local SMTP]
end
subgraph "Send Engine"
D1[Async Sending]
D2[Smart Retry]
D3[Rate Limiting]
D4[Failover]
end
end
A1 --> D1
A2 --> D1
B1 --> D1
C1 --> D1
D1 --> D2
D2 --> D3
D3 --> D4
| Channel Type | Applicable Scenarios | Features |
|---|
| Alibaba Cloud DirectMail | Domestic business | High deliverability, domestic optimization |
| AWS SES | International business | Global coverage, low cost |
| Local SMTP | Self-built systems | Full control, privacy protection |
| Corporate Email | Internal enterprise | Enterprise authentication, brand image |
2.2 Async Send Engine
mail:
async:
enabled: true
pool-size: 10
queue-capacity: 1000
batch-size: 50
retry:
max-attempts: 3
backoff:
initial-interval: 1000
multiplier: 2.0
max-interval: 30000
rate-limit:
enabled: true
qps: 100
burst: 200
| Capability | Description |
|---|
| Async Sending | Thread pool async processing |
| Smart Retry | Exponential backoff retry strategy |
| Rate Limiting | Token bucket algorithm rate limiting |
| Batch Optimization | Batch send optimization |
| Failover | Automatic channel failover |
3. Email Receiving Management
3.1 Receiving Architecture
graph TB
subgraph "Email Receiving"
subgraph "Receiving Protocols"
A1[IMAP]
A2[POP3]
end
subgraph "Receive Processing"
B1[Email Parsing]
B2[Content Extraction]
B3[Attachment Processing]
B4[Auto Classification]
end
subgraph "Receive Storage"
C1[Email Archiving]
C2[Search & Retrieval]
C3[Data Analysis]
end
end
A1 --> B1
A2 --> B1
B1 --> B2
B2 --> B3
B3 --> B4
B4 --> C1
C1 --> C2
C2 --> C3
| Capability | Description |
|---|
| IMAP Receiving | Real-time inbox sync |
| POP3 Receiving | Scheduled email pull |
| Email Parsing | Content and attachment parsing |
| Auto Classification | Rule-based auto classification |
| Auto Reply | Auto reply templates |
4. Template Engine Enhancement
4.1 Template Management System
graph TB
subgraph "Template Management"
subgraph "Template Creation"
A1[Template Design]
A2[Variable Definition]
A3[Style Configuration]
A4[Template Review]
A5[Template Publishing]
end
subgraph "Template Types"
B1[Business Templates]
B2[Marketing Templates]
B3[System Templates]
end
subgraph "Template Application"
C1[Variable Substitution]
C2[Conditional Rendering]
C3[Loop Rendering]
C4[Template Preview]
end
end
A1 --> A2
A2 --> A3
A3 --> A4
A4 --> A5
A5 --> B1
A5 --> B2
A5 --> B3
B1 --> C1
B2 --> C1
B3 --> C1
C1 --> C2
C2 --> C3
C3 --> C4
| Capability | Description |
|---|
| Thymeleaf Templates | HTML template rendering |
| Variable Substitution | Dynamic variable injection |
| Conditional Rendering | Conditional branch display |
| Template Versioning | Version management, history tracking |
| Template Testing | Test send, effect preview |
5. Marketing Email Enhancement
5.1 Marketing Automation
graph LR
A[Trigger Event] --> B{Condition Check}
B -->|Satisfied| C[Execute Action]
B -->|Not Satisfied| D[Skip]
C --> E[Send Email]
E --> F[Record Result]
F --> G{Follow-up Condition}
G -->|Yes| H[Continue Execution]
G -->|No| I[End Flow]
mail:
marketing:
automation:
- trigger: "Member Registration"
template: "Welcome Email"
delay: 0
- trigger: "Member Upgrade"
template: "Upgrade Congratulations"
delay: 0
- trigger: "7 Days After Purchase"
template: "Repurchase Reminder"
delay: 7d
- trigger: "Birthday"
template: "Birthday Greeting"
condition: "member.birthday == today"
5.2 Blacklist Management
| Capability | Description |
|---|
| Auto Blacklist | Bounced emails automatically added to blacklist |
| Manual Blacklist | Manually add to blacklist |
| Blacklist Filtering | Auto filter when sending |
| Blacklist Appeal | Blacklist appeal for removal |
6. Send Monitoring & Analytics
6.1 Full-Chain Tracking
graph LR
A[Send Request] --> B[Queue Waiting]
B --> C[Send Execution]
C --> D[Delivery Status]
D --> E[Open Tracking]
E --> F[Click Tracking]
A -.-> G[Audit Log]
B -.-> G
C -.-> G
D -.-> G
E -.-> G
F -.-> G
| Tracking Node | Description |
|---|
| Send Request | Send request record |
| Queue Status | Queue waiting status |
| Send Execution | Send execution status |
| Delivery Status | Delivery success/failure |
| Open Tracking | Email open tracking |
| Click Tracking | Link click tracking |
6.2 Email Send Audit
All email send operations are recorded with complete audit logs, supporting email send traceability.
| Audit Item | Description |
|---|
| Send Request | Records sender, recipient, send time |
| Email Content | Records email subject, content (encrypted storage) |
| Send Result | Records send success/failure, failure reason |
| Open Record | Records email open time, open count |
| Click Record | Records link click time, click count |
6.3 Statistical Analysis
| Analysis Dimension | Metrics |
|---|
| Send Statistics | Send volume, success rate, failure rate |
| Delivery Analysis | Delivery rate, bounce rate, bounce reasons |
| Effect Analysis | Open rate, click rate, conversion rate |
| Channel Analysis | Channel performance comparison |
| Template Analysis | Template effect comparison |
7. Technical Architecture
graph TB
subgraph "yudao-module-mail-plus"
subgraph "mail-biz"
A1[adapter]
A2[storage]
A3[engine]
A4[template]
A5[receive]
A6[marketing]
A7[blacklist]
A8[tracking]
A9[analytics]
end
subgraph "Permissions & Audit"
B1[permission]
B2[audit]
B3[masking]
end
end
A1 --> B1
A2 --> B2
A3 --> B2
A4 --> B3
A5 --> B2
A6 --> B2
8. Business Value
| Value Point | Description |
|---|
| High Deliverability | Multi-channel, intelligent routing |
| Reliable Sending | Async sending, smart retry |
| Marketing Empowerment | Marketing email, automated triggers |
| Effect Tracking | Open rate, click rate analysis |
| Cost Optimization | Channel selection, batch optimization |
| Compliance Audit | Full-chain tracking, send audit |
docs