Mail Middleware

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

MetricValue
Data Objects (DO)5
Controllers5
Menu ID Start11500
Maven Moduleyudao-module-mail

1.3 Core Data Tables

Table NameDescription
mail_attachmentAttachment Management
mail_blacklistBlacklist Management
mail_send_logSend Log
mail_receive_logReceive Log
mail_templateEmail 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

DimensionYudao Native CapabilityRuoYiPlus Mail Enhancement
Sending CapabilitySimple sendingMulti-channel + async sending
Receiving CapabilityNoneIMAP/POP3 receiving
Template ManagementNoneTemplate engine + variable substitution
Attachment ManagementSimple attachmentsMulti-storage + version management
Send MonitoringNoneFull-chain tracking + statistical analysis
Marketing EmailNoneMarketing email + batch sending
Audit ComplianceSimple loggingFull-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 TypeApplicable ScenariosFeatures
Alibaba Cloud DirectMailDomestic businessHigh deliverability, domestic optimization
AWS SESInternational businessGlobal coverage, low cost
Local SMTPSelf-built systemsFull control, privacy protection
Corporate EmailInternal enterpriseEnterprise 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
CapabilityDescription
Async SendingThread pool async processing
Smart RetryExponential backoff retry strategy
Rate LimitingToken bucket algorithm rate limiting
Batch OptimizationBatch send optimization
FailoverAutomatic 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
CapabilityDescription
IMAP ReceivingReal-time inbox sync
POP3 ReceivingScheduled email pull
Email ParsingContent and attachment parsing
Auto ClassificationRule-based auto classification
Auto ReplyAuto 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
CapabilityDescription
Thymeleaf TemplatesHTML template rendering
Variable SubstitutionDynamic variable injection
Conditional RenderingConditional branch display
Template VersioningVersion management, history tracking
Template TestingTest 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

CapabilityDescription
Auto BlacklistBounced emails automatically added to blacklist
Manual BlacklistManually add to blacklist
Blacklist FilteringAuto filter when sending
Blacklist AppealBlacklist 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 NodeDescription
Send RequestSend request record
Queue StatusQueue waiting status
Send ExecutionSend execution status
Delivery StatusDelivery success/failure
Open TrackingEmail open tracking
Click TrackingLink click tracking

6.2 Email Send Audit

All email send operations are recorded with complete audit logs, supporting email send traceability.

Audit ItemDescription
Send RequestRecords sender, recipient, send time
Email ContentRecords email subject, content (encrypted storage)
Send ResultRecords send success/failure, failure reason
Open RecordRecords email open time, open count
Click RecordRecords link click time, click count

6.3 Statistical Analysis

Analysis DimensionMetrics
Send StatisticsSend volume, success rate, failure rate
Delivery AnalysisDelivery rate, bounce rate, bounce reasons
Effect AnalysisOpen rate, click rate, conversion rate
Channel AnalysisChannel performance comparison
Template AnalysisTemplate 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 PointDescription
High DeliverabilityMulti-channel, intelligent routing
Reliable SendingAsync sending, smart retry
Marketing EmpowermentMarketing email, automated triggers
Effect TrackingOpen rate, click rate analysis
Cost OptimizationChannel selection, batch optimization
Compliance AuditFull-chain tracking, send audit
docs