Expand description
§WAE Email - 邮件服务抽象层
提供统一的邮件发送服务抽象,支持 SMTP、Sendmail 和直接交付。
深度融合 tokio 运行时,所有邮件发送操作都是异步的。
§模块结构
§示例
use wae_email::{SmtpEmailProvider, SmtpConfig, EmailProvider};
#[tokio::main]
async fn main() {
let config = SmtpConfig {
host: "smtp.example.com".to_string(),
port: 587,
username: "user@example.com".to_string(),
password: "password".to_string(),
from_email: "sender@example.com".to_string(),
};
let provider = SmtpEmailProvider::new(config);
provider.send_email("recipient@example.com", "Subject", "Body").await.unwrap();
}邮件模块 - 提供邮件发送功能。
§主要功能
- SMTP 支持: 标准 SMTP 协议邮件发送
- 模板渲染: 支持邮件模板
- 附件支持: 发送带附件的邮件
- 异步发送: 非阻塞邮件发送
§技术栈
- 邮件发送: lettre
- 异步运行时: Tokio
§使用示例
use wae_email::{SmtpEmailProvider, SmtpConfig, EmailProvider};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = SmtpConfig {
host: "smtp.example.com".to_string(),
port: 587,
username: "user@example.com".to_string(),
password: "password".to_string(),
from_email: "sender@example.com".to_string(),
};
let provider = SmtpEmailProvider::new(config);
provider.send_email("recipient@example.com", "Subject", "Body").await?;
Ok(())
}§模板支持
use wae_email::mime::EmailBuilder;
let email = EmailBuilder::new()
.to("user@example.com")
.subject("验证码")
.body("验证码: 123456")
.build();Modules§
Structs§
- Direct
Email Provider - 直接交付邮件提供者
- Sendmail
Email Provider - Sendmail 邮件提供者
- Smtp
Config - SMTP 配置
- Smtp
Email Provider - SMTP 邮件提供者
Traits§
- Email
Provider - 邮件提供者 trait