tempmail_sdk 1.3.3 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/tempmail_sdk/channels.rb +29 -7
- data/lib/tempmail_sdk/channels_data.rb +29 -7
- data/lib/tempmail_sdk/providers/altmails.rb +99 -0
- data/lib/tempmail_sdk/providers/apihz.rb +138 -0
- data/lib/tempmail_sdk/providers/awamail.rb +95 -0
- data/lib/tempmail_sdk/providers/best_temp_mail.rb +77 -0
- data/lib/tempmail_sdk/providers/chatgpt_org_uk.rb +129 -0
- data/lib/tempmail_sdk/providers/clawdemail.rb +122 -0
- data/lib/tempmail_sdk/providers/crazymailing.rb +114 -0
- data/lib/tempmail_sdk/providers/disposablemail.rb +125 -0
- data/lib/tempmail_sdk/providers/disposablemail_app.rb +66 -0
- data/lib/tempmail_sdk/providers/email10min.rb +152 -0
- data/lib/tempmail_sdk/providers/emailnator.rb +132 -0
- data/lib/tempmail_sdk/providers/emailtemp_org.rb +131 -0
- data/lib/tempmail_sdk/providers/expressinboxhub.rb +118 -0
- data/lib/tempmail_sdk/providers/fakemail.rb +143 -0
- data/lib/tempmail_sdk/providers/firetempmail.rb +86 -0
- data/lib/tempmail_sdk/providers/flybymail.rb +93 -0
- data/lib/tempmail_sdk/providers/generator_email.rb +146 -0
- data/lib/tempmail_sdk/providers/haribu.rb +29 -3
- data/lib/tempmail_sdk/providers/huskmail.rb +132 -0
- data/lib/tempmail_sdk/providers/internxt.rb +176 -0
- data/lib/tempmail_sdk/providers/linshi_xyz.rb +79 -0
- data/lib/tempmail_sdk/providers/linshiyouxiang_net.rb +85 -0
- data/lib/tempmail_sdk/providers/mail_sunls.rb +42 -1
- data/lib/tempmail_sdk/providers/mail_td.rb +161 -0
- data/lib/tempmail_sdk/providers/mailcat_ai.rb +52 -0
- data/lib/tempmail_sdk/providers/maildrop.rb +79 -4
- data/lib/tempmail_sdk/providers/mailgolem.rb +96 -0
- data/lib/tempmail_sdk/providers/mailinator.rb +9 -2
- data/lib/tempmail_sdk/providers/mailmomy.rb +1 -1
- data/lib/tempmail_sdk/providers/mailtemp_cc.rb +91 -0
- data/lib/tempmail_sdk/providers/mailticking.rb +139 -0
- data/lib/tempmail_sdk/providers/minuteinbox.rb +174 -0
- data/lib/tempmail_sdk/providers/moakt.rb +29 -3
- data/lib/tempmail_sdk/providers/mtempmail.rb +140 -0
- data/lib/tempmail_sdk/providers/mytempmail_cc.rb +76 -0
- data/lib/tempmail_sdk/providers/nowtempmail.rb +112 -0
- data/lib/tempmail_sdk/providers/noxen_de5_net.rb +392 -0
- data/lib/tempmail_sdk/providers/nukemail.rb +188 -0
- data/lib/tempmail_sdk/providers/nullmail.rb +95 -0
- data/lib/tempmail_sdk/providers/openinbox.rb +102 -0
- data/lib/tempmail_sdk/providers/shadowmail.rb +174 -0
- data/lib/tempmail_sdk/providers/shitpost_email.rb +85 -0
- data/lib/tempmail_sdk/providers/smail_pw.rb +156 -0
- data/lib/tempmail_sdk/providers/smails.rb +128 -0
- data/lib/tempmail_sdk/providers/socketio_mail.rb +25 -0
- data/lib/tempmail_sdk/providers/temp_mail_gg.rb +362 -0
- data/lib/tempmail_sdk/providers/tempgbox.rb +118 -0
- data/lib/tempmail_sdk/providers/tempmail100.rb +148 -0
- data/lib/tempmail_sdk/providers/tempmail_cn.rb +111 -0
- data/lib/tempmail_sdk/providers/tempmail_ee.rb +373 -0
- data/lib/tempmail_sdk/providers/tempmailportal.rb +131 -0
- data/lib/tempmail_sdk/providers/tempmails_io.rb +89 -0
- data/lib/tempmail_sdk/providers/tempmailto.rb +312 -0
- data/lib/tempmail_sdk/providers/temporarymail_com.rb +184 -0
- data/lib/tempmail_sdk/providers/tenmin_app.rb +100 -0
- data/lib/tempmail_sdk/providers/tenminutemail_net.rb +183 -0
- data/lib/tempmail_sdk/providers/thirty_min_email.rb +90 -0
- data/lib/tempmail_sdk/providers/tmpkit.rb +129 -0
- data/lib/tempmail_sdk/providers/twentyfourmail_chacuo.rb +83 -0
- data/lib/tempmail_sdk/providers/vip_215.rb +171 -0
- data/lib/tempmail_sdk/providers/zerodrop.rb +90 -0
- data/lib/tempmail_sdk/registry.rb +285 -23
- data/lib/tempmail_sdk/types.rb +13 -0
- data/lib/tempmail_sdk/version.rb +1 -1
- data/lib/tempmail_sdk.rb +1 -1
- metadata +58 -6
- data/lib/tempmail_sdk/providers/gonebox_email.rb +0 -89
- data/lib/tempmail_sdk/providers/temp_mail_now.rb +0 -103
- data/lib/tempmail_sdk/providers/webmailtemp.rb +0 -108
|
@@ -18,20 +18,44 @@ module TempmailSdk
|
|
|
18
18
|
Mailforspam: "mailforspam", FakeLegal: "fake_legal", TenminuteOne: "tenminute_one",
|
|
19
19
|
Zhujump: "zhujump", Anonymmail: "anonymmail", Byom: "byom", Cleantempmail: "cleantempmail",
|
|
20
20
|
DevmailUk: "devmail_uk", DropmailClick: "dropmail_click", FakeEmailSite: "fake_email_site",
|
|
21
|
-
Fmail: "fmail", Freecustom: "freecustom",
|
|
21
|
+
Fmail: "fmail", Freecustom: "freecustom",
|
|
22
22
|
Harakirimail: "harakirimail", Inboxes: "inboxes", M2u: "m2u", Mail10s: "mail10s",
|
|
23
23
|
Mail123: "mail123", Mffac: "mffac", Tempmailc: "tempmailc", NeighboursSh: "neighbours_sh",
|
|
24
24
|
Temporam: "temporam", Neighbours: "neighbours", TempyEmail: "tempy_email", Ockito: "ockito",
|
|
25
25
|
Tempmail365: "tempmail365", Tempinbox: "tempinbox", MailSunls: "mail_sunls",
|
|
26
26
|
Smailpro: "smailpro", MailholeDe: "mailhole_de", Nimail: "nimail", Rootsh: "rootsh",
|
|
27
|
-
ShittyEmail: "shitty_email", TaEasy: "ta_easy",
|
|
27
|
+
ShittyEmail: "shitty_email", TaEasy: "ta_easy",
|
|
28
28
|
TempMailOrg: "temp_mail_org", TempemailCo: "tempemail_co", TempemailInfo: "tempemail_info",
|
|
29
29
|
TempemailsNet: "tempemails_net", Tempfastmail: "tempfastmail", Tempgmailer: "tempgmailer",
|
|
30
30
|
TempgoEmail: "tempgo_email", TempmailFish: "tempmail_fish", TempmailFyi: "tempmail_fyi",
|
|
31
31
|
TempmailLolV2: "tempmail_lol_v2", Tempmailpro: "tempmailpro", Tempmailten: "tempmailten",
|
|
32
32
|
TempMails: "tempp_mails", TenMinuteMailNet: "ten_minute_mail_net",
|
|
33
33
|
Throwawaymail: "throwawaymail", TmailLink: "tmail_link",
|
|
34
|
-
Uncorreotemporal: "uncorreotemporal",
|
|
34
|
+
Uncorreotemporal: "uncorreotemporal", XkxMe: "xkx_me",
|
|
35
|
+
Altmails: "altmails", Apihz: "apihz", Awamail: "awamail", BestTempMail: "best_temp_mail",
|
|
36
|
+
ChatgptOrgUk: "chatgpt_org_uk", Disposablemail: "disposablemail",
|
|
37
|
+
DisposablemailApp: "disposablemail_app", Email10min: "email10min",
|
|
38
|
+
Emailnator: "emailnator", EmailtempOrg: "emailtemp_org",
|
|
39
|
+
Expressinboxhub: "expressinboxhub", Fakemail: "fakemail",
|
|
40
|
+
LinshiyouxiangNet: "linshiyouxiang_net", MailTd: "mail_td",
|
|
41
|
+
TempmailCn: "tempmail_cn", Linshiyou: "linshiyou", Mailnesia: "mailnesia",
|
|
42
|
+
Dropmail: "dropmail", SmailPw: "smail_pw", Vip215: "vip_215",
|
|
43
|
+
Tempgbox: "tempgbox", Anonbox: "anonbox", Eyepaste: "eyepaste",
|
|
44
|
+
Lroid: "lroid", Haribu: "haribu", Mailgolem: "mailgolem",
|
|
45
|
+
MytempmailCc: "mytempmail_cc", MailtempCc: "mailtemp_cc", Minuteinbox: "minuteinbox",
|
|
46
|
+
Mailcatch: "mailcatch", MaildropCc: "maildrop_cc", TenminutemailNet: "tenminutemail_net",
|
|
47
|
+
Openinbox: "openinbox", MailcatAi: "mailcat_ai", DropmailMe: "dropmail_me",
|
|
48
|
+
TwentyfourmailChacuo: "twentyfourmail_chacuo",
|
|
49
|
+
TempmailsIo: "tempmails_io", ShitpostEmail: "shitpost_email", Smails: "smails",
|
|
50
|
+
Tempmailportal: "tempmailportal", Huskmail: "huskmail", Zerodrop: "zerodrop",
|
|
51
|
+
Firetempmail: "firetempmail", Nullmail: "nullmail", TenminApp: "tenmin_app",
|
|
52
|
+
Mtempmail: "mtempmail", TempmailEe: "tempmail_ee", Mailticking: "mailticking",
|
|
53
|
+
TemporarymailCom: "temporarymail_com", ThirtyMinEmail: "thirty_min_email",
|
|
54
|
+
LinshiXyz: "linshi_xyz", Crazymailing: "crazymailing", NoxenDe5Net: "noxen_de5_net",
|
|
55
|
+
Nukemail: "nukemail", Shadowmail: "shadowmail", Flybymail: "flybymail",
|
|
56
|
+
Nowtempmail: "nowtempmail", Clawdemail: "clawdemail", Tempmail100: "tempmail100",
|
|
57
|
+
Tempmailto: "tempmailto", TempMailGg: "temp_mail_gg",
|
|
58
|
+
Tmpkit: "tmpkit", Internxt: "internxt", GeneratorEmail: "generator_email"
|
|
35
59
|
}.freeze
|
|
36
60
|
|
|
37
61
|
PROVIDER_AUTOLOADS.each do |mod_name, file|
|
|
@@ -449,10 +473,6 @@ module TempmailSdk
|
|
|
449
473
|
get_emails: ->(e, t) { p::Getnada.get_emails(require_token(t, "getnada"), e) }
|
|
450
474
|
},
|
|
451
475
|
# mailmomy 家族:mailmomy 主渠道从域名池随机选域,其余为固定域名变体(同后端 API)
|
|
452
|
-
"16888888-cyou" => {
|
|
453
|
-
generate: ->(_o) { with_channel(p::Mailmomy.generate_email("16888888.cyou"), "16888888-cyou") },
|
|
454
|
-
get_emails: ->(e, _t) { p::Mailmomy.get_emails(e) }
|
|
455
|
-
},
|
|
456
476
|
"17666688-shop" => {
|
|
457
477
|
generate: ->(_o) { with_channel(p::Mailmomy.generate_email("17666688.shop"), "17666688-shop") },
|
|
458
478
|
get_emails: ->(e, _t) { p::Mailmomy.get_emails(e) }
|
|
@@ -473,10 +493,6 @@ module TempmailSdk
|
|
|
473
493
|
generate: ->(_o) { with_channel(p::Mailmomy.generate_email("easyme.pro"), "easyme-pro") },
|
|
474
494
|
get_emails: ->(e, _t) { p::Mailmomy.get_emails(e) }
|
|
475
495
|
},
|
|
476
|
-
"evergreenco-shop" => {
|
|
477
|
-
generate: ->(_o) { with_channel(p::Mailmomy.generate_email("evergreenco.shop"), "evergreenco-shop") },
|
|
478
|
-
get_emails: ->(e, _t) { p::Mailmomy.get_emails(e) }
|
|
479
|
-
},
|
|
480
496
|
"layueming-pics" => {
|
|
481
497
|
generate: ->(_o) { with_channel(p::Mailmomy.generate_email("layueming.pics"), "layueming-pics") },
|
|
482
498
|
get_emails: ->(e, _t) { p::Mailmomy.get_emails(e) }
|
|
@@ -900,10 +916,6 @@ module TempmailSdk
|
|
|
900
916
|
generate: ->(_o) { p::Freecustom.generate_email },
|
|
901
917
|
get_emails: ->(e, t) { p::Freecustom.get_emails(t.to_s.empty? ? e : t) }
|
|
902
918
|
},
|
|
903
|
-
"gonebox-email" => {
|
|
904
|
-
generate: ->(_o) { p::GoneboxEmail.generate_email },
|
|
905
|
-
get_emails: ->(e, t) { p::GoneboxEmail.get_emails(t.to_s, e) }
|
|
906
|
-
},
|
|
907
919
|
"harakirimail" => {
|
|
908
920
|
generate: ->(_o) { p::Harakirimail.generate_email },
|
|
909
921
|
get_emails: ->(e, _t) { p::Harakirimail.get_emails(e) }
|
|
@@ -990,10 +1002,6 @@ module TempmailSdk
|
|
|
990
1002
|
generate: ->(_o) { p::TaEasy.generate_email },
|
|
991
1003
|
get_emails: ->(e, t) { p::TaEasy.get_emails(e, require_token(t, "ta-easy")) }
|
|
992
1004
|
},
|
|
993
|
-
"temp-mail-now" => {
|
|
994
|
-
generate: ->(_o) { p::TempMailNow.generate_email },
|
|
995
|
-
get_emails: ->(e, t) { p::TempMailNow.get_emails(require_token(t, "temp-mail-now"), e) }
|
|
996
|
-
},
|
|
997
1005
|
"temp-mail-org" => {
|
|
998
1006
|
generate: ->(_o) { p::TempMailOrg.generate_email },
|
|
999
1007
|
get_emails: ->(e, t) { p::TempMailOrg.get_emails(require_token(t, "temp-mail-org"), e) }
|
|
@@ -1062,14 +1070,268 @@ module TempmailSdk
|
|
|
1062
1070
|
generate: ->(_o) { p::Uncorreotemporal.generate_email },
|
|
1063
1071
|
get_emails: ->(e, t) { p::Uncorreotemporal.get_emails(require_token(t, "uncorreotemporal"), e) }
|
|
1064
1072
|
},
|
|
1065
|
-
"webmailtemp" => {
|
|
1066
|
-
generate: ->(_o) { p::Webmailtemp.generate_email },
|
|
1067
|
-
get_emails: ->(e, t) { p::Webmailtemp.get_emails(require_token(t, "webmailtemp"), e) }
|
|
1068
|
-
},
|
|
1069
1073
|
"xkx-me" => {
|
|
1070
1074
|
generate: ->(_o) { p::XkxMe.generate_email },
|
|
1071
1075
|
get_emails: ->(e, t) { p::XkxMe.get_emails(require_token(t, "xkx-me"), e) }
|
|
1072
1076
|
},
|
|
1077
|
+
"tempmail-cn" => {
|
|
1078
|
+
generate: ->(o) { p::TempmailCn.generate_email(o.domain) },
|
|
1079
|
+
get_emails: ->(e, _t) { p::TempmailCn.get_emails(e) }
|
|
1080
|
+
},
|
|
1081
|
+
"linshiyou" => {
|
|
1082
|
+
generate: ->(_o) { p::Linshiyou.generate_email },
|
|
1083
|
+
get_emails: ->(e, t) { p::Linshiyou.get_emails(require_token(t, "linshiyou"), e) }
|
|
1084
|
+
},
|
|
1085
|
+
"mailnesia" => {
|
|
1086
|
+
generate: ->(_o) { p::Mailnesia.generate_email },
|
|
1087
|
+
get_emails: ->(e, _t) { p::Mailnesia.get_emails(e) }
|
|
1088
|
+
},
|
|
1089
|
+
"dropmail" => {
|
|
1090
|
+
generate: ->(_o) { p::Dropmail.generate_email },
|
|
1091
|
+
get_emails: ->(e, t) { p::Dropmail.get_emails(require_token(t, "dropmail"), e) }
|
|
1092
|
+
},
|
|
1093
|
+
"smail-pw" => {
|
|
1094
|
+
generate: ->(_o) { p::SmailPw.generate_email },
|
|
1095
|
+
get_emails: ->(e, t) { p::SmailPw.get_emails(require_token(t, "smail-pw"), e) }
|
|
1096
|
+
},
|
|
1097
|
+
"vip-215" => {
|
|
1098
|
+
generate: ->(_o) { p::Vip215.generate_email },
|
|
1099
|
+
get_emails: ->(e, t) { p::Vip215.get_emails(require_token(t, "vip-215"), e) }
|
|
1100
|
+
},
|
|
1101
|
+
"tempgbox" => {
|
|
1102
|
+
generate: ->(_o) { p::Tempgbox.generate_email },
|
|
1103
|
+
get_emails: ->(e, t) { p::Tempgbox.get_emails(require_token(t, "tempgbox"), e) }
|
|
1104
|
+
},
|
|
1105
|
+
"emailnator" => {
|
|
1106
|
+
generate: ->(_o) { p::Emailnator.generate_email },
|
|
1107
|
+
get_emails: ->(e, t) { p::Emailnator.get_emails(e, require_token(t, "emailnator")) }
|
|
1108
|
+
},
|
|
1109
|
+
"anonbox" => {
|
|
1110
|
+
generate: ->(_o) { p::Anonbox.generate_email },
|
|
1111
|
+
get_emails: ->(e, t) { p::Anonbox.get_emails(require_token(t, "anonbox"), e) }
|
|
1112
|
+
},
|
|
1113
|
+
"eyepaste" => {
|
|
1114
|
+
generate: ->(_o) { p::Eyepaste.generate_email },
|
|
1115
|
+
get_emails: ->(e, _t) { p::Eyepaste.get_emails(e) }
|
|
1116
|
+
},
|
|
1117
|
+
"lroid" => {
|
|
1118
|
+
generate: ->(_o) { p::Lroid.generate_email },
|
|
1119
|
+
get_emails: ->(e, t) { p::Lroid.get_emails(require_token(t, "lroid"), e) }
|
|
1120
|
+
},
|
|
1121
|
+
"haribu" => {
|
|
1122
|
+
generate: ->(_o) { p::Haribu.generate_email },
|
|
1123
|
+
get_emails: ->(e, t) { p::Haribu.get_emails(require_token(t, "haribu"), e) }
|
|
1124
|
+
},
|
|
1125
|
+
"mailgolem" => {
|
|
1126
|
+
generate: ->(_o) { p::Mailgolem.generate_email },
|
|
1127
|
+
get_emails: ->(e, t) { p::Mailgolem.get_emails(e, require_token(t, "mailgolem")) }
|
|
1128
|
+
},
|
|
1129
|
+
"best-temp-mail" => {
|
|
1130
|
+
generate: ->(_o) { p::BestTempMail.generate_email },
|
|
1131
|
+
get_emails: ->(e, t) { p::BestTempMail.get_emails(e, require_token(t, "best-temp-mail")) }
|
|
1132
|
+
},
|
|
1133
|
+
"disposablemail-app" => {
|
|
1134
|
+
generate: ->(_o) { p::DisposablemailApp.generate_email },
|
|
1135
|
+
get_emails: ->(e, t) { p::DisposablemailApp.get_emails(e, require_token(t, "disposablemail-app")) }
|
|
1136
|
+
},
|
|
1137
|
+
"mailtemp-cc" => {
|
|
1138
|
+
generate: ->(_o) { p::MailtempCc.generate_email },
|
|
1139
|
+
get_emails: ->(e, t) { p::MailtempCc.get_emails(e, require_token(t, "mailtemp-cc")) }
|
|
1140
|
+
},
|
|
1141
|
+
"minuteinbox" => {
|
|
1142
|
+
generate: ->(_o) { p::Minuteinbox.generate_email },
|
|
1143
|
+
get_emails: ->(e, t) { p::Minuteinbox.get_emails(require_token(t, "minuteinbox"), e) }
|
|
1144
|
+
},
|
|
1145
|
+
"mailcatch" => {
|
|
1146
|
+
generate: ->(_o) { p::Mailcatch.generate_email },
|
|
1147
|
+
get_emails: ->(e, t) { p::Mailcatch.get_emails(e, require_token(t, "mailcatch")) }
|
|
1148
|
+
},
|
|
1149
|
+
"altmails" => {
|
|
1150
|
+
generate: ->(_o) { p::Altmails.generate_email },
|
|
1151
|
+
get_emails: ->(e, t) { p::Altmails.get_emails(e, require_token(t, "altmails")) }
|
|
1152
|
+
},
|
|
1153
|
+
"maildrop-cc" => {
|
|
1154
|
+
generate: ->(_o) { p::MaildropCc.generate_email },
|
|
1155
|
+
get_emails: ->(e, t) { p::MaildropCc.get_emails(e, t || "") }
|
|
1156
|
+
},
|
|
1157
|
+
"10minutemail-net" => {
|
|
1158
|
+
generate: ->(_o) { p::TenminutemailNet.generate_email },
|
|
1159
|
+
get_emails: ->(e, t) { p::TenminutemailNet.get_emails(e, require_token(t, "10minutemail-net")) }
|
|
1160
|
+
},
|
|
1161
|
+
"linshiyouxiang-net" => {
|
|
1162
|
+
generate: ->(_o) { p::LinshiyouxiangNet.generate_email },
|
|
1163
|
+
get_emails: ->(e, t) { p::LinshiyouxiangNet.get_emails(e, require_token(t, "linshiyouxiang-net")) }
|
|
1164
|
+
},
|
|
1165
|
+
"disposablemail-com" => {
|
|
1166
|
+
generate: ->(_o) { p::Disposablemail.generate_email },
|
|
1167
|
+
get_emails: ->(e, t) { p::Disposablemail.get_emails(e, require_token(t, "disposablemail-com")) }
|
|
1168
|
+
},
|
|
1169
|
+
"emailtemp-org" => {
|
|
1170
|
+
generate: ->(_o) { p::EmailtempOrg.generate_email },
|
|
1171
|
+
get_emails: ->(e, t) { p::EmailtempOrg.get_emails(e, require_token(t, "emailtemp-org")) }
|
|
1172
|
+
},
|
|
1173
|
+
"mytempmail-cc" => {
|
|
1174
|
+
generate: ->(_o) { p::MytempmailCc.generate_email },
|
|
1175
|
+
get_emails: ->(e, t) { p::MytempmailCc.get_emails(require_token(t, "mytempmail-cc"), e) }
|
|
1176
|
+
},
|
|
1177
|
+
"mail-td" => {
|
|
1178
|
+
generate: ->(_o) { p::MailTd.generate_email },
|
|
1179
|
+
get_emails: ->(e, t) { p::MailTd.get_emails(require_token(t, "mail-td"), e) }
|
|
1180
|
+
},
|
|
1181
|
+
"24mail-chacuo" => {
|
|
1182
|
+
generate: ->(_o) { p::TwentyfourmailChacuo.generate_email },
|
|
1183
|
+
get_emails: ->(e, _t) { p::TwentyfourmailChacuo.get_emails(e) }
|
|
1184
|
+
},
|
|
1185
|
+
"apihz" => {
|
|
1186
|
+
generate: ->(_o) { p::Apihz.generate_email },
|
|
1187
|
+
get_emails: ->(_e, t) { p::Apihz.get_emails(require_token(t, "apihz")) }
|
|
1188
|
+
},
|
|
1189
|
+
"mailcat-ai" => {
|
|
1190
|
+
generate: ->(_o) { p::MailcatAi.generate_email },
|
|
1191
|
+
get_emails: ->(e, t) { p::MailcatAi.get_emails(require_token(t, "mailcat-ai"), e) }
|
|
1192
|
+
},
|
|
1193
|
+
"dropmail-me" => {
|
|
1194
|
+
generate: ->(_o) { p::DropmailMe.generate_email },
|
|
1195
|
+
get_emails: ->(e, t) { p::DropmailMe.get_emails(require_token(t, "dropmail-me"), e) }
|
|
1196
|
+
},
|
|
1197
|
+
"openinbox" => {
|
|
1198
|
+
generate: ->(_o) { p::Openinbox.generate_email },
|
|
1199
|
+
get_emails: ->(e, t) { p::Openinbox.get_emails(require_token(t, "openinbox"), e) }
|
|
1200
|
+
},
|
|
1201
|
+
"chatgpt-org-uk" => {
|
|
1202
|
+
generate: ->(_o) { p::ChatgptOrgUk.generate_email },
|
|
1203
|
+
get_emails: ->(e, t) { p::ChatgptOrgUk.get_emails(e, require_token(t, "chatgpt-org-uk")) }
|
|
1204
|
+
},
|
|
1205
|
+
"expressinboxhub" => {
|
|
1206
|
+
generate: ->(_o) { p::Expressinboxhub.generate_email },
|
|
1207
|
+
get_emails: ->(e, t) { p::Expressinboxhub.get_emails(e, require_token(t, "expressinboxhub")) }
|
|
1208
|
+
},
|
|
1209
|
+
"fakemail" => {
|
|
1210
|
+
generate: ->(_o) { p::Fakemail.generate_email },
|
|
1211
|
+
get_emails: ->(e, t) { p::Fakemail.get_emails(require_token(t, "fakemail"), e) }
|
|
1212
|
+
},
|
|
1213
|
+
"awamail" => {
|
|
1214
|
+
generate: ->(_o) { p::Awamail.generate_email },
|
|
1215
|
+
get_emails: ->(e, t) { p::Awamail.get_emails(require_token(t, "awamail"), e) }
|
|
1216
|
+
},
|
|
1217
|
+
"email10min" => {
|
|
1218
|
+
generate: ->(_o) { p::Email10min.generate_email },
|
|
1219
|
+
get_emails: ->(e, t) { p::Email10min.get_emails(e, require_token(t, "email10min")) }
|
|
1220
|
+
},
|
|
1221
|
+
# 渠道追加批次:与 baseline 尾部 11 个新增渠道一一对应(顺序固定)
|
|
1222
|
+
"tempmails-io" => {
|
|
1223
|
+
generate: ->(_o) { p::TempmailsIo.generate_email },
|
|
1224
|
+
get_emails: ->(e, t) { p::TempmailsIo.get_emails(e, require_token(t, "tempmails-io")) }
|
|
1225
|
+
},
|
|
1226
|
+
"shitpost-email" => {
|
|
1227
|
+
generate: ->(_o) { p::ShitpostEmail.generate_email },
|
|
1228
|
+
get_emails: ->(e, t) { p::ShitpostEmail.get_emails(e, require_token(t, "shitpost-email")) }
|
|
1229
|
+
},
|
|
1230
|
+
"smails" => {
|
|
1231
|
+
generate: ->(_o) { p::Smails.generate_email },
|
|
1232
|
+
get_emails: ->(e, t) { p::Smails.get_emails(require_token(t, "smails"), e) }
|
|
1233
|
+
},
|
|
1234
|
+
"tempmailportal" => {
|
|
1235
|
+
generate: ->(_o) { p::Tempmailportal.generate_email },
|
|
1236
|
+
get_emails: ->(e, t) { p::Tempmailportal.get_emails(require_token(t, "tempmailportal"), e) }
|
|
1237
|
+
},
|
|
1238
|
+
"huskmail" => {
|
|
1239
|
+
generate: ->(_o) { p::Huskmail.generate_email },
|
|
1240
|
+
get_emails: ->(e, t) { p::Huskmail.get_emails(require_token(t, "huskmail"), e) }
|
|
1241
|
+
},
|
|
1242
|
+
"zerodrop" => {
|
|
1243
|
+
generate: ->(_o) { p::Zerodrop.generate_email },
|
|
1244
|
+
get_emails: ->(e, t) { p::Zerodrop.get_emails(e, t) }
|
|
1245
|
+
},
|
|
1246
|
+
"firetempmail" => {
|
|
1247
|
+
generate: ->(_o) { p::Firetempmail.generate_email },
|
|
1248
|
+
get_emails: ->(e, t) { p::Firetempmail.get_emails(e, t) }
|
|
1249
|
+
},
|
|
1250
|
+
"nullmail" => {
|
|
1251
|
+
generate: ->(_o) { p::Nullmail.generate_email },
|
|
1252
|
+
get_emails: ->(e, t) { p::Nullmail.get_emails(e, t) }
|
|
1253
|
+
},
|
|
1254
|
+
"tenmin-app" => {
|
|
1255
|
+
generate: ->(_o) { p::TenminApp.generate_email },
|
|
1256
|
+
get_emails: ->(e, t) { p::TenminApp.get_emails(e, require_token(t, "tenmin-app")) }
|
|
1257
|
+
},
|
|
1258
|
+
"mtempmail" => {
|
|
1259
|
+
generate: ->(_o) { p::Mtempmail.generate_email },
|
|
1260
|
+
get_emails: ->(e, t) { p::Mtempmail.get_emails(e, t) }
|
|
1261
|
+
},
|
|
1262
|
+
"tempmail-ee" => {
|
|
1263
|
+
generate: ->(_o) { p::TempmailEe.generate_email },
|
|
1264
|
+
get_emails: ->(e, t) { p::TempmailEe.get_emails(e, require_token(t, "tempmail-ee")) }
|
|
1265
|
+
},
|
|
1266
|
+
"mailticking" => {
|
|
1267
|
+
generate: ->(_o) { p::Mailticking.generate_email },
|
|
1268
|
+
get_emails: ->(e, t) { p::Mailticking.get_emails(e, require_token(t, "mailticking")) }
|
|
1269
|
+
},
|
|
1270
|
+
# 渠道追加批次:与 baseline 尾部 11 个新增渠道一一对应(顺序固定)
|
|
1271
|
+
"temporarymail-com" => {
|
|
1272
|
+
generate: ->(_o) { p::TemporarymailCom.generate_email },
|
|
1273
|
+
get_emails: ->(e, t) { p::TemporarymailCom.get_emails(e, require_token(t, "temporarymail-com")) }
|
|
1274
|
+
},
|
|
1275
|
+
"30minemail" => {
|
|
1276
|
+
generate: ->(_o) { p::ThirtyMinEmail.generate_email },
|
|
1277
|
+
get_emails: ->(e, t) { p::ThirtyMinEmail.get_emails(e, require_token(t, "30minemail")) }
|
|
1278
|
+
},
|
|
1279
|
+
"linshi-xyz" => {
|
|
1280
|
+
generate: ->(_o) { p::LinshiXyz.generate_email },
|
|
1281
|
+
get_emails: ->(e, t) { p::LinshiXyz.get_emails(e, require_token(t, "linshi-xyz")) }
|
|
1282
|
+
},
|
|
1283
|
+
"crazymailing" => {
|
|
1284
|
+
generate: ->(_o) { p::Crazymailing.generate_email },
|
|
1285
|
+
get_emails: ->(e, t) { p::Crazymailing.get_emails(e, require_token(t, "crazymailing")) }
|
|
1286
|
+
},
|
|
1287
|
+
"noxen-de5-net" => {
|
|
1288
|
+
generate: ->(o) { p::NoxenDe5Net.generate_email(o.domain) },
|
|
1289
|
+
get_emails: ->(e, t) { p::NoxenDe5Net.get_emails(e, require_token(t, "noxen-de5-net")) }
|
|
1290
|
+
},
|
|
1291
|
+
"nukemail" => {
|
|
1292
|
+
generate: ->(_o) { p::Nukemail.generate_email },
|
|
1293
|
+
get_emails: ->(e, t) { p::Nukemail.get_emails(e, require_token(t, "nukemail")) }
|
|
1294
|
+
},
|
|
1295
|
+
"shadowmail" => {
|
|
1296
|
+
generate: ->(_o) { p::Shadowmail.generate_email },
|
|
1297
|
+
get_emails: ->(e, t) { p::Shadowmail.get_emails(e, require_token(t, "shadowmail")) }
|
|
1298
|
+
},
|
|
1299
|
+
"flybymail" => {
|
|
1300
|
+
generate: ->(_o) { p::Flybymail.generate_email },
|
|
1301
|
+
get_emails: ->(e, t) { p::Flybymail.get_emails(e, require_token(t, "flybymail")) }
|
|
1302
|
+
},
|
|
1303
|
+
"nowtempmail" => {
|
|
1304
|
+
generate: ->(_o) { p::Nowtempmail.generate_email },
|
|
1305
|
+
get_emails: ->(e, t) { p::Nowtempmail.get_emails(e, require_token(t, "nowtempmail")) }
|
|
1306
|
+
},
|
|
1307
|
+
"clawdemail" => {
|
|
1308
|
+
generate: ->(_o) { p::Clawdemail.generate_email },
|
|
1309
|
+
get_emails: ->(e, t) { p::Clawdemail.get_emails(e, require_token(t, "clawdemail")) }
|
|
1310
|
+
},
|
|
1311
|
+
"tempmail100" => {
|
|
1312
|
+
generate: ->(_o) { p::Tempmail100.generate_email },
|
|
1313
|
+
get_emails: ->(e, t) { p::Tempmail100.get_emails(e, require_token(t, "tempmail100")) }
|
|
1314
|
+
},
|
|
1315
|
+
"tempmailto" => {
|
|
1316
|
+
generate: ->(_o) { p::Tempmailto.generate_email },
|
|
1317
|
+
get_emails: ->(e, t) { p::Tempmailto.get_emails(e, require_token(t, "tempmailto")) }
|
|
1318
|
+
},
|
|
1319
|
+
"temp-mail-gg" => {
|
|
1320
|
+
generate: ->(_o) { p::TempMailGg.generate_email },
|
|
1321
|
+
get_emails: ->(e, t) { p::TempMailGg.get_emails(e, require_token(t, "temp-mail-gg")) }
|
|
1322
|
+
},
|
|
1323
|
+
"tmpkit" => {
|
|
1324
|
+
generate: ->(_o) { p::Tmpkit.generate_email },
|
|
1325
|
+
get_emails: ->(e, t) { p::Tmpkit.get_emails(e, require_token(t, "tmpkit")) }
|
|
1326
|
+
},
|
|
1327
|
+
"internxt" => {
|
|
1328
|
+
generate: ->(_o) { p::Internxt.generate_email },
|
|
1329
|
+
get_emails: ->(e, t) { p::Internxt.get_emails(e, require_token(t, "internxt")) }
|
|
1330
|
+
},
|
|
1331
|
+
"generator-email" => {
|
|
1332
|
+
generate: ->(_o) { p::GeneratorEmail.generate_email },
|
|
1333
|
+
get_emails: ->(e, t) { p::GeneratorEmail.get_emails(e, require_token(t, "generator-email")) }
|
|
1334
|
+
},
|
|
1073
1335
|
}
|
|
1074
1336
|
end
|
|
1075
1337
|
|
data/lib/tempmail_sdk/types.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "time"
|
|
4
|
+
|
|
3
5
|
module TempmailSdk
|
|
4
6
|
# 创建临时邮箱后返回的邮箱信息
|
|
5
7
|
# Token 等认证信息由 SDK 内部维护,不对外暴露(token 通过私有读取器访问)
|
|
@@ -78,6 +80,17 @@ module TempmailSdk
|
|
|
78
80
|
end
|
|
79
81
|
# rubocop:enable Metrics/ParameterLists
|
|
80
82
|
|
|
83
|
+
# 发信地址的域名部分;无法从 from_addr 提取时返回空串
|
|
84
|
+
# @return [String]
|
|
85
|
+
def from_domain
|
|
86
|
+
addr = from_addr.to_s
|
|
87
|
+
if (m = addr.match(/<?([^@\s<>]+)@([^@\s<>]+)>?/))
|
|
88
|
+
return m[2]
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
""
|
|
92
|
+
end
|
|
93
|
+
|
|
81
94
|
def to_h
|
|
82
95
|
{
|
|
83
96
|
id: @id, from_addr: @from_addr, to: @to, subject: @subject,
|
data/lib/tempmail_sdk/version.rb
CHANGED
data/lib/tempmail_sdk.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tempmail_sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- tempmail-sdk
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: 五端(Go/npm/Rust/Python/C)之外的 Ruby 版临时邮箱 SDK,共享相同的渠道标识与顺序,提供统一的 Email 结构、渠道
|
|
14
14
|
fallback、代理/超时/TLS/遥测配置。
|
|
@@ -27,87 +27,139 @@ files:
|
|
|
27
27
|
- lib/tempmail_sdk/http.rb
|
|
28
28
|
- lib/tempmail_sdk/logger.rb
|
|
29
29
|
- lib/tempmail_sdk/normalize.rb
|
|
30
|
+
- lib/tempmail_sdk/providers/altmails.rb
|
|
30
31
|
- lib/tempmail_sdk/providers/anonbox.rb
|
|
31
32
|
- lib/tempmail_sdk/providers/anonymmail.rb
|
|
33
|
+
- lib/tempmail_sdk/providers/apihz.rb
|
|
34
|
+
- lib/tempmail_sdk/providers/awamail.rb
|
|
35
|
+
- lib/tempmail_sdk/providers/best_temp_mail.rb
|
|
32
36
|
- lib/tempmail_sdk/providers/byom.rb
|
|
33
37
|
- lib/tempmail_sdk/providers/catchmail.rb
|
|
38
|
+
- lib/tempmail_sdk/providers/chatgpt_org_uk.rb
|
|
39
|
+
- lib/tempmail_sdk/providers/clawdemail.rb
|
|
34
40
|
- lib/tempmail_sdk/providers/cleantempmail.rb
|
|
41
|
+
- lib/tempmail_sdk/providers/crazymailing.rb
|
|
35
42
|
- lib/tempmail_sdk/providers/devmail_uk.rb
|
|
43
|
+
- lib/tempmail_sdk/providers/disposablemail.rb
|
|
44
|
+
- lib/tempmail_sdk/providers/disposablemail_app.rb
|
|
36
45
|
- lib/tempmail_sdk/providers/dropmail.rb
|
|
37
46
|
- lib/tempmail_sdk/providers/dropmail_click.rb
|
|
38
47
|
- lib/tempmail_sdk/providers/dropmail_me.rb
|
|
39
48
|
- lib/tempmail_sdk/providers/duckmail.rb
|
|
49
|
+
- lib/tempmail_sdk/providers/email10min.rb
|
|
50
|
+
- lib/tempmail_sdk/providers/emailnator.rb
|
|
51
|
+
- lib/tempmail_sdk/providers/emailtemp_org.rb
|
|
52
|
+
- lib/tempmail_sdk/providers/expressinboxhub.rb
|
|
40
53
|
- lib/tempmail_sdk/providers/eyepaste.rb
|
|
41
54
|
- lib/tempmail_sdk/providers/fake_email_site.rb
|
|
42
55
|
- lib/tempmail_sdk/providers/fake_legal.rb
|
|
56
|
+
- lib/tempmail_sdk/providers/fakemail.rb
|
|
57
|
+
- lib/tempmail_sdk/providers/firetempmail.rb
|
|
58
|
+
- lib/tempmail_sdk/providers/flybymail.rb
|
|
43
59
|
- lib/tempmail_sdk/providers/fmail.rb
|
|
44
60
|
- lib/tempmail_sdk/providers/freecustom.rb
|
|
61
|
+
- lib/tempmail_sdk/providers/generator_email.rb
|
|
45
62
|
- lib/tempmail_sdk/providers/getnada.rb
|
|
46
|
-
- lib/tempmail_sdk/providers/gonebox_email.rb
|
|
47
63
|
- lib/tempmail_sdk/providers/guerrillamail.rb
|
|
48
64
|
- lib/tempmail_sdk/providers/guerrillamail_mirrors.rb
|
|
49
65
|
- lib/tempmail_sdk/providers/harakirimail.rb
|
|
50
66
|
- lib/tempmail_sdk/providers/haribu.rb
|
|
67
|
+
- lib/tempmail_sdk/providers/huskmail.rb
|
|
51
68
|
- lib/tempmail_sdk/providers/inboxes.rb
|
|
52
69
|
- lib/tempmail_sdk/providers/inboxkitten.rb
|
|
70
|
+
- lib/tempmail_sdk/providers/internxt.rb
|
|
71
|
+
- lib/tempmail_sdk/providers/linshi_xyz.rb
|
|
53
72
|
- lib/tempmail_sdk/providers/linshiyou.rb
|
|
73
|
+
- lib/tempmail_sdk/providers/linshiyouxiang_net.rb
|
|
54
74
|
- lib/tempmail_sdk/providers/lroid.rb
|
|
55
75
|
- lib/tempmail_sdk/providers/m2u.rb
|
|
56
76
|
- lib/tempmail_sdk/providers/mail10s.rb
|
|
57
77
|
- lib/tempmail_sdk/providers/mail123.rb
|
|
58
78
|
- lib/tempmail_sdk/providers/mail_cx.rb
|
|
59
79
|
- lib/tempmail_sdk/providers/mail_sunls.rb
|
|
80
|
+
- lib/tempmail_sdk/providers/mail_td.rb
|
|
60
81
|
- lib/tempmail_sdk/providers/mail_tm.rb
|
|
82
|
+
- lib/tempmail_sdk/providers/mailcat_ai.rb
|
|
61
83
|
- lib/tempmail_sdk/providers/mailcatch.rb
|
|
62
84
|
- lib/tempmail_sdk/providers/maildrop.rb
|
|
63
85
|
- lib/tempmail_sdk/providers/maildrop_cc.rb
|
|
64
86
|
- lib/tempmail_sdk/providers/mailforspam.rb
|
|
87
|
+
- lib/tempmail_sdk/providers/mailgolem.rb
|
|
65
88
|
- lib/tempmail_sdk/providers/mailhole_de.rb
|
|
66
89
|
- lib/tempmail_sdk/providers/mailinator.rb
|
|
67
90
|
- lib/tempmail_sdk/providers/mailmomy.rb
|
|
68
91
|
- lib/tempmail_sdk/providers/mailnesia.rb
|
|
92
|
+
- lib/tempmail_sdk/providers/mailtemp_cc.rb
|
|
93
|
+
- lib/tempmail_sdk/providers/mailticking.rb
|
|
69
94
|
- lib/tempmail_sdk/providers/mffac.rb
|
|
95
|
+
- lib/tempmail_sdk/providers/minuteinbox.rb
|
|
70
96
|
- lib/tempmail_sdk/providers/moakt.rb
|
|
97
|
+
- lib/tempmail_sdk/providers/mtempmail.rb
|
|
98
|
+
- lib/tempmail_sdk/providers/mytempmail_cc.rb
|
|
71
99
|
- lib/tempmail_sdk/providers/neighbours.rb
|
|
72
100
|
- lib/tempmail_sdk/providers/neighbours_sh.rb
|
|
73
101
|
- lib/tempmail_sdk/providers/nimail.rb
|
|
102
|
+
- lib/tempmail_sdk/providers/nowtempmail.rb
|
|
103
|
+
- lib/tempmail_sdk/providers/noxen_de5_net.rb
|
|
104
|
+
- lib/tempmail_sdk/providers/nukemail.rb
|
|
105
|
+
- lib/tempmail_sdk/providers/nullmail.rb
|
|
74
106
|
- lib/tempmail_sdk/providers/ockito.rb
|
|
75
107
|
- lib/tempmail_sdk/providers/one_sec_mail.rb
|
|
108
|
+
- lib/tempmail_sdk/providers/openinbox.rb
|
|
76
109
|
- lib/tempmail_sdk/providers/restmail_net.rb
|
|
77
110
|
- lib/tempmail_sdk/providers/rootsh.rb
|
|
111
|
+
- lib/tempmail_sdk/providers/shadowmail.rb
|
|
112
|
+
- lib/tempmail_sdk/providers/shitpost_email.rb
|
|
78
113
|
- lib/tempmail_sdk/providers/shitty_email.rb
|
|
114
|
+
- lib/tempmail_sdk/providers/smail_pw.rb
|
|
79
115
|
- lib/tempmail_sdk/providers/smailpro.rb
|
|
116
|
+
- lib/tempmail_sdk/providers/smails.rb
|
|
117
|
+
- lib/tempmail_sdk/providers/socketio_mail.rb
|
|
80
118
|
- lib/tempmail_sdk/providers/ta_easy.rb
|
|
119
|
+
- lib/tempmail_sdk/providers/temp_mail_gg.rb
|
|
81
120
|
- lib/tempmail_sdk/providers/temp_mail_io.rb
|
|
82
|
-
- lib/tempmail_sdk/providers/temp_mail_now.rb
|
|
83
121
|
- lib/tempmail_sdk/providers/temp_mail_org.rb
|
|
84
122
|
- lib/tempmail_sdk/providers/tempemail_co.rb
|
|
85
123
|
- lib/tempmail_sdk/providers/tempemail_info.rb
|
|
86
124
|
- lib/tempmail_sdk/providers/tempemails_net.rb
|
|
87
125
|
- lib/tempmail_sdk/providers/tempfastmail.rb
|
|
126
|
+
- lib/tempmail_sdk/providers/tempgbox.rb
|
|
88
127
|
- lib/tempmail_sdk/providers/tempgmailer.rb
|
|
89
128
|
- lib/tempmail_sdk/providers/tempgo_email.rb
|
|
90
129
|
- lib/tempmail_sdk/providers/tempinbox.rb
|
|
91
130
|
- lib/tempmail_sdk/providers/tempmail.rb
|
|
131
|
+
- lib/tempmail_sdk/providers/tempmail100.rb
|
|
92
132
|
- lib/tempmail_sdk/providers/tempmail365.rb
|
|
133
|
+
- lib/tempmail_sdk/providers/tempmail_cn.rb
|
|
134
|
+
- lib/tempmail_sdk/providers/tempmail_ee.rb
|
|
93
135
|
- lib/tempmail_sdk/providers/tempmail_fish.rb
|
|
94
136
|
- lib/tempmail_sdk/providers/tempmail_fyi.rb
|
|
95
137
|
- lib/tempmail_sdk/providers/tempmail_lol.rb
|
|
96
138
|
- lib/tempmail_sdk/providers/tempmail_lol_v2.rb
|
|
97
139
|
- lib/tempmail_sdk/providers/tempmail_plus.rb
|
|
98
140
|
- lib/tempmail_sdk/providers/tempmailc.rb
|
|
141
|
+
- lib/tempmail_sdk/providers/tempmailportal.rb
|
|
99
142
|
- lib/tempmail_sdk/providers/tempmailpro.rb
|
|
143
|
+
- lib/tempmail_sdk/providers/tempmails_io.rb
|
|
100
144
|
- lib/tempmail_sdk/providers/tempmailten.rb
|
|
145
|
+
- lib/tempmail_sdk/providers/tempmailto.rb
|
|
101
146
|
- lib/tempmail_sdk/providers/temporam.rb
|
|
147
|
+
- lib/tempmail_sdk/providers/temporarymail_com.rb
|
|
102
148
|
- lib/tempmail_sdk/providers/tempp_mails.rb
|
|
103
149
|
- lib/tempmail_sdk/providers/tempy_email.rb
|
|
104
150
|
- lib/tempmail_sdk/providers/ten_minute_mail_net.rb
|
|
151
|
+
- lib/tempmail_sdk/providers/tenmin_app.rb
|
|
105
152
|
- lib/tempmail_sdk/providers/tenminute_one.rb
|
|
153
|
+
- lib/tempmail_sdk/providers/tenminutemail_net.rb
|
|
154
|
+
- lib/tempmail_sdk/providers/thirty_min_email.rb
|
|
106
155
|
- lib/tempmail_sdk/providers/throwawaymail.rb
|
|
107
156
|
- lib/tempmail_sdk/providers/tmail_link.rb
|
|
157
|
+
- lib/tempmail_sdk/providers/tmpkit.rb
|
|
158
|
+
- lib/tempmail_sdk/providers/twentyfourmail_chacuo.rb
|
|
108
159
|
- lib/tempmail_sdk/providers/uncorreotemporal.rb
|
|
109
|
-
- lib/tempmail_sdk/providers/
|
|
160
|
+
- lib/tempmail_sdk/providers/vip_215.rb
|
|
110
161
|
- lib/tempmail_sdk/providers/xkx_me.rb
|
|
162
|
+
- lib/tempmail_sdk/providers/zerodrop.rb
|
|
111
163
|
- lib/tempmail_sdk/providers/zhujump.rb
|
|
112
164
|
- lib/tempmail_sdk/registry.rb
|
|
113
165
|
- lib/tempmail_sdk/retry.rb
|
|
@@ -138,5 +190,5 @@ requirements: []
|
|
|
138
190
|
rubygems_version: 3.4.19
|
|
139
191
|
signing_key:
|
|
140
192
|
specification_version: 4
|
|
141
|
-
summary: 临时邮箱 SDK,聚合
|
|
193
|
+
summary: 临时邮箱 SDK,聚合 296 个第三方临时邮箱渠道,返回统一标准化格式
|
|
142
194
|
test_files: []
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module TempmailSdk
|
|
4
|
-
module Providers
|
|
5
|
-
# gonebox.email 渠道实现
|
|
6
|
-
# 一次性临时邮箱服务,无需认证
|
|
7
|
-
module GoneboxEmail
|
|
8
|
-
CHANNEL = "gonebox-email"
|
|
9
|
-
BASE_URL = "https://api.gonebox.email/api/v1"
|
|
10
|
-
HEADERS = {
|
|
11
|
-
"User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " \
|
|
12
|
-
"(KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",
|
|
13
|
-
"Accept" => "application/json",
|
|
14
|
-
"Content-Type" => "application/json"
|
|
15
|
-
}.freeze
|
|
16
|
-
|
|
17
|
-
module_function
|
|
18
|
-
|
|
19
|
-
# @return [EmailInfo]
|
|
20
|
-
def generate_email
|
|
21
|
-
resp = Http.post(
|
|
22
|
-
"#{BASE_URL}/inboxes",
|
|
23
|
-
headers: HEADERS,
|
|
24
|
-
json: { "domain" => "gonebox.email" },
|
|
25
|
-
timeout: 15
|
|
26
|
-
)
|
|
27
|
-
resp.raise_for_status
|
|
28
|
-
body = resp.json
|
|
29
|
-
raise "gonebox-email: create failed" unless body.is_a?(Hash) && body["success"]
|
|
30
|
-
|
|
31
|
-
data = body["data"]
|
|
32
|
-
raise "gonebox-email: invalid data" unless data.is_a?(Hash)
|
|
33
|
-
|
|
34
|
-
address = data["address"].to_s
|
|
35
|
-
raise "gonebox-email: missing address" if address.empty?
|
|
36
|
-
|
|
37
|
-
# expiresAt 为秒级时间戳,转为毫秒
|
|
38
|
-
expires_at = nil
|
|
39
|
-
raw_expires = data["expiresAt"]
|
|
40
|
-
if raw_expires
|
|
41
|
-
begin
|
|
42
|
-
expires_at = raw_expires.to_i * 1000
|
|
43
|
-
rescue StandardError
|
|
44
|
-
# 忽略
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
EmailInfo.new(channel: CHANNEL, email: address, token: "", expires_at: expires_at)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# @param token [String]
|
|
52
|
-
# @param email [String]
|
|
53
|
-
# @return [Array<Email>]
|
|
54
|
-
def get_emails(token, email)
|
|
55
|
-
address = email.to_s.strip
|
|
56
|
-
raise "gonebox-email: missing email" if address.empty?
|
|
57
|
-
|
|
58
|
-
headers = HEADERS.reject { |k, _| k == "Content-Type" }
|
|
59
|
-
resp = Http.get("#{BASE_URL}/inboxes/#{address}/messages", headers: headers, timeout: 15)
|
|
60
|
-
return [] if resp.status_code == 404
|
|
61
|
-
|
|
62
|
-
resp.raise_for_status
|
|
63
|
-
body = resp.json
|
|
64
|
-
return [] unless body.is_a?(Hash) && body["success"]
|
|
65
|
-
|
|
66
|
-
data = body["data"]
|
|
67
|
-
return [] unless data.is_a?(Hash)
|
|
68
|
-
|
|
69
|
-
messages = data["messages"]
|
|
70
|
-
return [] unless messages.is_a?(Array) && !messages.empty?
|
|
71
|
-
|
|
72
|
-
messages.select { |m| m.is_a?(Hash) }.map do |msg|
|
|
73
|
-
raw = {
|
|
74
|
-
"id" => msg["id"].to_s,
|
|
75
|
-
"from" => (msg["from"] || msg["sender"]).to_s,
|
|
76
|
-
"to" => address,
|
|
77
|
-
"subject" => msg["subject"].to_s,
|
|
78
|
-
"text" => (msg["text"] || msg["body_plain"]).to_s,
|
|
79
|
-
"html" => (msg["html"] || msg["body_html"]).to_s,
|
|
80
|
-
"date" => (msg["date"] || msg["received_at"]).to_s,
|
|
81
|
-
"is_read" => false,
|
|
82
|
-
"attachments" => []
|
|
83
|
-
}
|
|
84
|
-
Normalize.normalize_email(raw, address)
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
end
|