何时读本文:想快速了解本 SDK 的能力、安装方式与示例代码时。 需要更深入内容,请跳转到下方文档地图。
TempMail SDK for Go 是一套基于 bogdanfinn/tls-client TLS 指纹栈的 Go 临时邮箱 SDK,统一封装了 27 个第三方临时邮箱服务商,所有渠道返回同一份标准化格式。本仓库是 CNB 镜像版本,module path 为:
cnb.cool/Neko_Kernel/TempMail_SDK_To_Go
Email(id / from / to / subject / text / html / date / isRead / attachments)tls-client 的 Chrome / Firefox / Safari / Edge profile 池,UA 与指纹成对随机log/slog,默认静默,可接 JSON / 自定义 handlergo get cnb.cool/Neko_Kernel/TempMail_SDK_To_Go
要求 Go 1.26.2 或更高。详细安装(离线 / 私服 / vendor)请见 docs/INSTALL.md。
package main
import (
"fmt"
tempemail "cnb.cool/Neko_Kernel/TempMail_SDK_To_Go"
)
func main() {
client := tempemail.NewClient()
info, err := client.Generate(&tempemail.GenerateEmailOptions{
Channel: tempemail.ChannelTempmail,
})
if err != nil || info == nil {
panic("create mailbox failed")
}
fmt.Println("channel:", info.Channel)
fmt.Println("email:", info.Email)
result, err := client.GetEmails(nil)
if err != nil {
panic(err)
}
fmt.Printf("received %d emails (success=%v)\n", len(result.Emails), result.Success)
for _, m := range result.Emails {
fmt.Printf("[%s] %s -> %s : %s\n", m.Date, m.From, m.To, m.Subject)
}
}
// 随机渠道
info, _ := tempemail.GenerateEmail(nil)
// 指定渠道
info, _ = tempemail.GenerateEmail(&tempemail.GenerateEmailOptions{
Channel: tempemail.ChannelMailTm,
})
// 自定义有效期(仅 tempmail 渠道)
info, _ = tempemail.GenerateEmail(&tempemail.GenerateEmailOptions{
Channel: tempemail.ChannelTempmail,
Duration: 60,
})
// 列出全部渠道
for _, ch := range tempemail.ListChannels() {
fmt.Println(ch.Channel, ch.Website)
}
// 通过 EmailInfo 方法收件
result, _ := info.GetEmails(nil)
// 或者使用顶层函数 + 自定义重试
result, _ = tempemail.GetEmails(info, &tempemail.GetEmailsOptions{
Retry: &tempemail.RetryOptions{MaxRetries: 3},
})
详细场景(代理、域名、超时、遥测开关等)见 docs/USAGE.md。
下表顺序与 ListChannels() / 随机尝试顺序一致,与上游 27 渠道阵列对齐。
| # | 渠道标识 | 常量 | 服务商 | 说明 |
|---|---|---|---|---|
| 1 | tempmail | ChannelTempmail | tempmail.ing | 支持 Duration 自定义有效期(分钟) |
| 2 | tempmail-cn | ChannelTempmailCn | tempmail.cn | Socket.IO;Domain 可指定接入域名 |
| 3 | tmpmails | ChannelTmpmails | tmpmails.com | user_sign Cookie + Next.js Server Action;Domain 选语言路径 |
| 4 | tempmailg | ChannelTempmailg | tempmailg.com | 无 Cookie 罐;Token 内含 Cookie 与 CSRF;Domain 选语言路径 |
| 5 | ta-easy | ChannelTaEasy | ta-easy.com | api-endpoint.ta-easy.com;ExpiresAt 为毫秒时间戳 |
| 6 | 10mail-wangtz | Channel10mailWangtz | 10mail.wangtz.cn | 默认跳过 TLS 校验;后缀 wangtz.cn |
| 7 | 10minute-one | Channel10minuteOne | 10minutemail.one | SSR / JWT + Web API |
| 8 | linshi-email | ChannelLinshiEmail | linshi-email.com | — |
| 9 | linshiyou | ChannelLinshiyou | linshiyou.com | NEXUS_TOKEN + Cookie;HTML 分段解析 |
| 10 | mffac | ChannelMffac | mffac.com | REST;mailbox id 作 token;24h |
| 11 | tempmail-lol | ChannelTempmailLol | tempmail.lol | 支持指定域名 |
| 12 | chatgpt-org-uk | ChannelChatgptOrgUk | mail.chatgpt.org.uk | Inbox Token 请求头已封装 |
| 13 | temp-mail-io | ChannelTempMailIO | temp-mail.io | — |
| 14 | awamail | ChannelAwamail | awamail.com | Session Cookie 自动管理 |
| 15 | temporary-email-org | ChannelTemporaryEmailOrg | temporary-email.org | GET /zh/messages Cookie + XHR |
| 16 | mail-tm | ChannelMailTm | mail.tm | api.mail.tm;Bearer Token;自动注册 |
| 17 | mail-cx | ChannelMailCx | mail.cx | api.mail.cx OpenAPI;JWT;可选 Domain |
| 18 | dropmail | ChannelDropmail | dropmail.me | GraphQL;Session ID;支持 af_ 令牌 |
| 19 | guerrillamail | ChannelGuerrillaMail | guerrillamail.com | 公开 JSON API |
| 20 | maildrop | ChannelMaildrop | maildrop.cx | REST;过滤 transformer.edu.kg 后缀 |
| 21 | smail-pw | ChannelSmailPw | smail.pw | __session Cookie;RSC/Flight 解析 |
| 22 | boomlify | ChannelBoomlify | boomlify.com | {UUID}@{域名};REST |
| 23 | minmail | ChannelMinmail | minmail.app | Token 是 JSON(visitorId + ck) |
| 24 | vip-215 | ChannelVip215 | vip.215.im | POST 建箱 + WebSocket;无正文时 synthetic 兜底 |
| 25 | anonbox | ChannelAnonbox | anonbox.net | HTML 解析 + mbox 收信 |
| 26 | fake-legal | ChannelFakeLegal | fake.legal | /api/inbox/new;可选 Domain |
| 27 | moakt | ChannelMoakt | moakt.com | mok1: + Base64 JSON;tm_session Cookie;HTTPClientNoCookieJar |
Token 等认证信息由 SDK 内部自动维护,用户只需关心
Channel/Emails。
| 变量 | 用途 |
|---|---|
TEMPMAIL_PROXY | 全局代理 URL(http / https / socks5) |
TEMPMAIL_TIMEOUT | 全局超时秒数(默认 15) |
TEMPMAIL_INSECURE | 1 / true 跳过 TLS 证书校验 |
TEMPMAIL_TELEMETRY_ENABLED | false / 0 / no 关闭匿名遥测 |
TEMPMAIL_TELEMETRY_URL | 自定义遥测上报端点 |
DROPMAIL_AUTH_TOKEN / DROPMAIL_API_TOKEN | DropMail af_ 令牌 |
DROPMAIL_NO_AUTO_TOKEN | 禁止自动拉取/续期 |
DROPMAIL_RENEW_LIFETIME | 续期 lifetime,如 1d |
完整说明请阅读 docs/ENV_VARS.md。
默认 开启。SDK 会批量上报每次 generate_email / get_emails 的操作名、渠道、成败、尝试次数与脱敏后的错误摘要(schema_version: 2),内置端点定义于 telemetry.go。
关闭方式(任选其一):
export TEMPMAIL_TELEMETRY_ENABLED=false
off := false
tempemail.SetConfig(tempemail.SDKConfig{TelemetryEnabled: &off})
| 文档 | 适用场景 |
|---|---|
| docs/INSTALL.md | 安装、依赖、Vendor、私服、国内镜像 |
| docs/USAGE.md | 所有使用场景:建邮 / 收信 / 代理 / 超时 / 日志 / 遥测 |
| docs/API.md | 完整导出符号参考(准确对应源码) |
| docs/ENV_VARS.md | 全部环境变量 |
| docs/SPECIAL_ENV.md | 特殊渠道(WebSocket / Socket.IO / TLS 例外) |
| docs/DEPLOY.md | 作为库嵌入、Docker、CI/CD、版本发布 |
| CONTRIBUTING.md | 新增 Provider、命名、提交规范 |
| CHANGELOG.md | 版本变更记录 |
| SECURITY.md | 安全策略与审计报告 |
本项目遵循 GPL-3.0 协议发布。使用、修改、再分发须遵守该协议条款。