miaplaza/middlemailMiddleMail是一个邮件发送中间件,提供API用于事务性邮件传递和活动日志记录,可作为其他传递服务的中间件。其所有组件均可插拔,因此可在不同配置下用于生产和 staging 应用:例如,可为staging部署禁用实际邮件传递,但保留活动日志记录以查看近期邮件活动。
| 项目 | 包 | 描述 |
|---|---|---|
MiddleMail | 、Storage(存储) 和 Delivery(传递)。
MessageSource:MiddleMail.IMessageSource 定义了MiddleMail如何消费邮件,这些邮件随后进入处理管道。
Storage:为了持久化邮件活动信息,MiddleMail使用MiddleMail.IStorage。根据实现方式,这使得邮件活动易于搜索和调试。
Delivery:实际邮件传递使用MiddleMail.IMailDeliverer:MiddleMail.Delivery.Smtp 为SMTP实现了此类传递器,但也可轻松集成首选的邮件发送SaaS,或在调试和测试时禁用传递功能。
以下表格列出了MiddleMail的可配置参数。在bash中作为环境变量传递时,将:替换为__。
| 参数 | 描述 |
|---|---|
Middl***Delivery:Smtp:Server | 上游SMTP服务器的主机名 |
Middl***Delivery:Smtp:Port | SMTP服务器的端口 |
Middl***Delivery:Smtp:Username | SMTP连接的用户名 |
Middl***Delivery:Smtp:Password | SMTP连接的密码 |
Middl***Delivery:MimeMessage:MessageIdDomainPart | 邮件ID的域名部分,格式为<***>,用于构建MIME消息的邮件ID |
Middl***ExponentialBackoff:Multiplicator | 处理失败后的延迟计算方式:delay = 2^iteration * multiplicator(秒) |
Middl***Storage:ElasticSearch:Uri | Elasticsearch实例的URI |
Middl***Storage:ElasticSearch:Index | 用于写入消息的Elasticsearch索引名称 |
Middl***MessageSource:RabbitMQ:ConnectionString | RabbitMQ的连接字符串,定义方式参见[***]host=localhost;prefetchcount=10 |
Middl***MessageSource:RabbitMQ:SubscriptionId | 此MiddleMail实例的唯一订阅ID |
REDIS_CONFIGURATION | 用于连接Redis的配置,定义方式参见[***] |
REDIS_INSTANCE_NAME | Redis实例名称 |
DISABLE_SMTP | 不通过SMTP实际发送任何邮件(用于测试/调试) |
| 项目 | 描述 |
|---|---|
| EmailMessageGenerator | 生成测试邮件消息 |
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务