【合集】临时邮箱网站 临时邮箱API(持续更新)

news2024/12/29 9:15:31

众所周知,在注册一些账户时,比较常见的验证方式就是邮箱,但是在进行一些小众和不知名网站注册时,邮箱的泄露可能预示着不休止的邮件推送。尤其是当我们只是想临时使用邮箱这种情况,第二种,批量注册账号的情况。在这两业务需求之下。我们开始另辟蹊径,临时邮箱成了我们此刻的不二选择。

1.十分钟邮箱网站 

        

        临时邮箱有时也叫10分钟邮箱,寓意着短暂和时效性,当然,作为一次性用品。我们也不用去关注历史数据的找回,能解我们当下的燃眉之急,接收邮箱验证码 即可。下面是一些最新可用,且邮件响应速度很快的一些临时邮箱:

截止2024-07-12可用:

https://mail.td/      界面简洁,速度快,多种后缀可选(推荐)

https://mailtemp.net/                       随机邮件的获取需要刷新页面,不太方便

https://email10min.com/zh        界面简洁,可以手动延长过期时间,还行

https://tenminutesmail.net/en#         和上一个一个模板,能用

https://10-minutemail.com/        界面简洁,支持手动延时

https://temp-mail.org/zh/        快跑,有广告,网速还慢

https://10minutemail.com      有广告,加载慢,使用体验不行

https://tempmail.plus/zh/#!        界面简洁,速度还行

2.临时邮箱API

        作为开发者,秉着万物皆对象的辩证思维来看待临时邮箱,那么我们就只能通过临时邮箱网址去手动申请邮箱,获取验证码吗?不能通过API对接的方式来获取吗?答案可能让你失望了。lz通过调研,暂时在网上还没发现可用的类似临时邮箱的API。

        我也想过通过解析临时邮箱的接口,将其转化为api来可供调用。但是,经过lz不懈的努力,终于发现。这个方法百分之九十九很难行得通。因为每个临时邮箱的网站或多或少针对这种行为都做了一些防范。也可能是我技不如人吧。

        直到现在,我命由我不由天,皇天不负苦心人。我终于找到了哪个百分之一的可能漏网之鱼。这个临时邮箱api提供三种接口。

1.随机获取一个邮箱

api地址:http://xxx.com/email.php?act=getRandomEmail

参数类型是否必填默认值示例值描述
actstring*getRandomEmail随机获取一个邮箱方法标识

返回结果如下:

{
	code: 0,
	msg: "随机邮箱获取成功",
	email: "6690e0e2a42e1@nqmo.com"
}
2. 获取邮件列表

api地址:http://xxx.com/email.php?act=getEmailMsg&email=随机邮箱

参数类型是否必填默认值示例值描述
actstring*getEmailMsg获取邮箱列表方法标识
emailstring*6690e0e2a42e1@nqmo.com获取的随机邮箱

返回结果如下:

{
	"email": "6690e0e2a42e1@nqmo.com",
	"content": [{
		"mailbox": "6690e0e2a42e1@nqmo.com",
		"id": "20240712T075407-1118",
		"from": "",
		"to": ["<6690e0e2a42e1@nqmo.com>"],
		"subject": "BetDog\u90ae\u7bb1\u9a8c\u8bc1\u7801",
		"date": "2024-07-12T07:54:07.818646362Z",
		"posix-millis": 1720770847818,
		"size": 2996,
		"seen": false
	}]
}
3. 获取邮件正文

api地址:http://xxx.com/email.php?act=getEmailContent&email=随机邮箱&id=邮件id

参数类型是否必填默认值示例值描述
actstring*getEmailContent获取邮件正文方法标识
emailstring*6690e0e2a42e1@nqmo.com获取的随机邮箱
idstring*20240712T075407-1118从邮件列表里获取的邮件id

返回结果如下:

{
	"id": "20240712T075407-1118",
	"email": "6690e0e2a42e1@nqmo.com",
	"content": {
		"mailbox": "6690e0e2a42e1@nqmo.com",
		"id": "20240712T075407-1118",
		"from": "",
		"to": ["<6690e0e2a42e1@nqmo.com>"],
		"subject": "BetDog\u90ae\u7bb1\u9a8c\u8bc1\u7801",
		"date": "2024-07-12T07:54:07.818646362Z",
		"posix-millis": 1720770847818,
		"size": 2996,
		"seen": false,
		"body": {
			"text": "Dear User: \n Your verification code is 16685 Effective within 10 minutes \n Please do notshare this code with anyone, including customer service\n",
			"html": ""
		},
		"header": {
			"Content-Transfer-Encoding": ["7bit"],
			"Content-Type": ["text\/plain; charset=\"utf-8\""],
			"Date": ["Fri, 12 Jul 2024 07:54:05 -0000"],
			"Dkim-Signature": ["v=1; a=rsa-sha256; c=relaxed\/relaxed; d=gmail.com; s=20230601; t=1720770846; x=1721375646; darn=nqmo.com; h=message-id:date:to:from:subject:content-transfer-encoding :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=RunUR39HfOwcSrg2GWBBYroIpK6PuA0s7clhxbFdDlo=; b=dcQIXH2MX9tmmCADBVSG+V00zhiOmQtm+L8mklhQRLEpDnABYYnblm0aGfgle2Jxw5 2ur8l80KsqBX0l++7\/UY3KWSNDffbWA9EFqkp0L\/kVFKQEVISts8luuWdCk30cZEr8y\/ TSxgWHedIx4BSAdYoT5+mLpQCjnEjAp70HegasgP5kVviJy\/Hn7j7WBrobZD8saODckx MORAzJ6kwg\/ZmTkioGc7ioExj78zlVV1hjsx8XsHzTefMgdFIYKsnGEAent7iQiuZgKH \/NQSTtpqfCzHSDLYYuA7g7\/9bo1qTwBgHoerCAdkCiYyXnn1IyaOykgqDOJsGn8DdbNx MUDw=="],
			"From": ["betdoghash@gmail.com"],
			"Message-Id": ["<172077084512.197768.1093321075037059396@US01-XH320V2-DS020-01>"],
			"Mime-Version": ["1.0"],
			"Received": ["from mail-io1-f54.google.com ([209.85.166.54]) by hi.mail.cx for <6690e0e2a42e1@nqmo.com>; Fri, 12 Jul 2024 07:54:07 +0000 (UTC)", "by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-7fb93b2e2a3so93106739f.1 for <6690e0e2a42e1@nqmo.com>; Fri, 12 Jul 2024 00:54:07 -0700 (PDT)", "from US01-XH320V2-DS020-01 ([154.7.64.106]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-70b438c25a2sm6853095b3a.73.2024.07.12.00.54.04 for <6690e0e2a42e1@nqmo.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256\/256); Fri, 12 Jul 2024 00:54:05 -0700 (PDT)"],
			"Return-Path": [""],
			"Subject": ["=?utf-8?b?QmV0RG9n6YKu566x6aqM6K+B56CB?="],
			"To": ["6690e0e2a42e1@nqmo.com"],
			"X-Gm-Message-State": ["AOJu0YyzlIu+f72UwDJoTArPcD+MJ0bSR8XZQQCBsjGCLi\/ez56f7yTv odrHyPa\/m1VmpQTLbHdu870U9CdW+wnhSkxiygR2QF+tOeHX6t5NRp0hpg=="],
			"X-Google-Dkim-Signature": ["v=1; a=rsa-sha256; c=relaxed\/relaxed; d=1e100.net; s=20230601; t=1720770846; x=1721375646; h=message-id:date:to:from:subject:content-transfer-encoding :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RunUR39HfOwcSrg2GWBBYroIpK6PuA0s7clhxbFdDlo=; b=AFMqlY90KBY+LuGpmIgAGYzp\/v0jZwPsM4DfFLsqRIgxl9pwhK09mQKcMaO4sI6wrx 8yBeo3SHaxc3tQDnrvGhlB5fYcehyDcHmBjpqy0tO0RYdeYkAQMK1lB7m5D1NOHBBx7q 1vd8\/B2lUAAenAG2Fb7GzlVPLZs7KslsXPQOwv45IK72GIN\/c85oggH+yNOIEfawse\/p wEQKg7UmGgru9JexXgkN7SnTIRXizcI+j7CtcjI0aVOpxrEnwRQ4umK+UH+FEcxeuUjW +f4NbdMTTxufScLig3XhqH2cOabZ7eBsE5XA6l6f13v\/19KQnu1ypn23GfQfiUadNIJm fJ4A=="],
			"X-Google-Smtp-Source": ["AGHT+IGTDsXi1odHdzaps7hzEzET1K7G\/5Xfy\/G7f1wqbNLbhNjNvwbQQpK+IrxXeeQDw16utOhGgQ=="],
			"X-Received": ["by 2002:a05:6e02:1d0e:b0:374:9bc4:ce1a with SMTP id e9e14a558f8ab-38a58d32cabmr130024515ab.20.1720770846180; Fri, 12 Jul 2024 00:54:06 -0700 (PDT)"]
		},
		"attachments": []
	}
}

3.源码分享与解析

        这个api接口是通过解析 https://mail.td/ 临时邮箱网站做出来的,老规矩,还是单个php文件,放到站点即可使用,主打就是一个方便好用。这个网站本来可以提供自定义邮箱后缀的,但是我比较懒,所以api中就不提供啦,源码我下面分享出来,各位可以自行丰富,完善。

email.php

<?php

//临时邮箱:https://mail.td/
function gettoken($email){
    // 初始化 cURL
    $ch = curl_init();

    // 设置 cURL 选项
    curl_setopt($ch, CURLOPT_URL, "https://mail.td/zh/mail/".$email); // 设置请求的 URL
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将响应保存到变量而不是输出
    curl_setopt($ch, CURLOPT_HEADER, true); // 包含头部信息

    // 执行 cURL 请求
    $response = curl_exec($ch);

    // 检查是否有错误发生
    if(curl_errno($ch)) {
        echo 'Curl error: ' . curl_error($ch);
    }

    // 获取响应头部信息的长度
    $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);

    // 分离头部信息和响应体
    $header = substr($response, 0, $header_size);

    // 将头部信息转换为关联数组
    $headerArray = [];

    // 解析头部信息为数组
    $headers = explode("\r\n", $header);
    foreach ($headers as $headerLine) {
        $pos = strpos($headerLine, ':');
        if ($pos !== false) {
            $key = substr($headerLine, 0, $pos);
            $value = trim(substr($headerLine, $pos + 1));
            $headerArray[$key] = $value;
        }
    }
    $string = $headerArray['set-cookie'];

    // 使用正则表达式匹配目标字符串
    $pattern = '/auth_token=([^;]+)/';
    if (preg_match($pattern, $string, $matches)) {
        $extractedString = $matches[1];
        return $extractedString;
    }
    // 关闭 cURL 资源
    curl_close($ch);
}
// 第一个方法:获取随机邮箱并发送请求
function getRandomEmail() {
    // 生成随机的邮箱地址,这里使用一个简单的示例
    $randomEmail = uniqid() . '@nqmo.com'; // 这里可以改为生成真实的随机邮箱

    // 构建请求的 URL
    $url = 'https://mail.td/_next/data/rT7saUEnIHF3_hlYJl4Io/zh/mail/' . urlencode($randomEmail) . '.json?name=' . urlencode($randomEmail);

    // 初始化 curl
    $ch = curl_init();

    // 设置 curl 选项
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // 执行请求并获取返回结果
    $response = curl_exec($ch);

    // 检查是否有错误发生
    if(curl_errno($ch)) {
        $error_message = curl_error($ch);
        echo "Error: $error_message";
    }

    // 关闭 curl 资源
    curl_close($ch);
    $res = json_decode($response);
    if(isset($res->__N_SSP)){
        $arr = array(
            "code"=>0,
            "msg"=>"随机邮箱获取成功",
            "email"=>$randomEmail,
        );
        return $arr;
    }else{
        $arr = array(
            "code"=>1,
            "msg"=>"随机邮箱获取失败",
            "email"=>$res->__N_SSP,
        );
        return $arr;
    }
}

// 第二个方法:接收邮箱参数并发送请求
function sendGetRequest($email) {
    // 构建请求的 URL
    $url = 'https://mail.td/api/api/v1/mailbox/' . urlencode($email);

    // 初始化 curl
    $ch = curl_init();

    // 设置 curl 选项
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Authorization: bearer '.gettoken($email)
    ));

    // 执行请求并获取返回结果
    $response = curl_exec($ch);

    // 检查是否有错误发生
    if(curl_errno($ch)) {
        $error_message = curl_error($ch);
        echo "Error: $error_message";
    }
    // 关闭 curl 资源
    curl_close($ch);
    $arr = array(
        "email"=>$email,
        "content"=>json_decode($response),
    );
    return $arr;
}

//根据id获取邮箱内容
function getEmailContent($email,$id){
     // 构建请求的 URL
     $url = 'https://mail.td/api/api/v1/mailbox/' . urlencode($email)."/".$id;

     // 初始化 curl
     $ch = curl_init();
 
     // 设置 curl 选项
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Authorization: bearer '.gettoken($email)
    ));
 
     // 执行请求并获取返回结果
     $response = curl_exec($ch);
 
     // 检查是否有错误发生
     if(curl_errno($ch)) {
         $error_message = curl_error($ch);
         echo "Error: $error_message";
     }
     // 关闭 curl 资源
     curl_close($ch);
     $arr = array(
         "id"=>$id,
         "email"=>$email,
         "content"=>json_decode($response),
     );
     return $arr;
}

//$res = gettoken();
// $res = getEmailContent("liuqing@nqmo.com","20240712T051842-6261");
// echo json_encode($res);

if(isset($_GET["act"])){
    $act = $_GET["act"];
    if($act=='getRandomEmail'){
        $res =  getRandomEmail();
    }else if($act=='getEmailMsg'&&isset($_GET["email"])){
        $res = sendGetRequest($_GET["email"]);
    }else if($act=='getEmailContent'&&isset($_GET["email"])&&isset($_GET["id"])){
        $res = getEmailContent($_GET["email"],$_GET["id"]);
    }else{
        $res = array(
            "code"=>1,
            "msg"=>"参数错误",
        );
    }
    echo json_encode($res);
}else{
    $res = array(
        "code"=>1,
        "msg"=>"参数错误",
    );
    echo json_encode($res);
}

?>

        这种提取他人接口做二次封装接口的具有一定时效性,因此,后续我会持续关注是否有其他更好的平替方式。生命不息,学习不止。

        本篇博客仅做技术分享,切勿进行任何非法行为。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1933249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3前端开发-执行npm run dev提示报错怎么解决

vue3前端开发-执行npm run dev提示报错怎么解决&#xff01;今天在本地安装初始化了一个vue3的案例demo。但是当我执行npm run dev想启动它时报错了说&#xff0c;找不到dev。让我检查package.json文件是否包含dev。如下图所示&#xff1a; 实际上&#xff0c;不必惊慌&#xf…

视频压縮大小不影响画质,视频压缩大小不影响画质的软件

在数字化浪潮推动下&#xff0c;视频制作和分享已成为我们生活的一部分。然而&#xff0c;视频文件体积过大常常让分享和存储变得头疼。今天&#xff0c;我们就来聊聊如何在苹果电脑上压缩视频文件大小&#xff0c;让你的视频瞬间瘦身&#xff01; 方法一、 1.下载并安装视频压…

AgentGYM:结合模仿学习和探索学习策略,让智能体不再需要人类的帮助,在各种环境和任务中自我进化

AgentGYM&#xff1a;结合模仿学习和探索学习策略&#xff0c;让智能体不再需要人类的帮助&#xff0c;在各种环境和任务中自我进化 提出背景AgentGYM 框架AgentGYM 解法拆解AgentEVOL 自我进化算法子解法1&#xff1a;行为克隆子解法2&#xff1a;探索子解法3&#xff1a;学习…

简单搭建卷积神经网络实现手写数字10分类

搭建卷积神经网络实现手写数字10分类 1.思路流程 1.导入minest数据集 2.对数据进行预处理 3.构建卷积神经网络模型 4.训练模型&#xff0c;评估模型 5.用模型进行训练预测 一.导入minest数据集 MNIST--->raw--->test-->(0,1,2...) 10个文件夹 MNIST--->raw-…

爬虫与 Zapier 集成

利用与 Zapier 集成的爬虫 API&#xff0c;以最小的工作量自动完成数据收集、处理和报告等复杂任务。 什么是 Zapier? Zapier 是一家为网络应用程序提供集成的公司&#xff0c;可用于自动化工作流程。 无代码集成 爬虫 API 集成无需编码&#xff0c;您只需点击几下&#x…

ERR SELECT is not allowed in cluster mode

在redis集群模式下&#xff0c;默认且只能使用0号database库&#xff0c;不允许使用SELECT 操作选择database 。

Django Q()函数

Q() 函数的作用 在Django中&#xff0c;Q()函数是一个非常有用的工具&#xff0c;主要用于构建复杂的查询。它允许你创建复杂的查询语句&#xff0c;包括AND、OR和NOT逻辑操作。这对于处理复杂的数据库查询特别有用&#xff0c;特别是在你需要组合多个条件或处理复杂的过滤逻辑…

乐鑫ESP-IoT-Bridge方案简化设备智能联网通信,启明云端乐鑫代理商

随着物联网技术的快速发展&#xff0c;设备联网已成为实现智能化的关键一步。然而&#xff0c;不同设备之间的通信协议、接口等差异&#xff0c;使得设备联网变得复杂且困难。 乐鑫推出的ESP-IoT-Bridge联网方案&#xff0c;正是为了解决这一难题&#xff0c;为物联网场景下的…

搞定前端面试题——ES6同步与异步机制、async/await的使用以及Promise的使用!!!

文章目录 同步和异步async/awaitPromisePromise的概念 同步和异步 ​ 同步&#xff1a;代码按照编写顺序逐行执行&#xff0c;后续的代码必须等待当前正在执行的代码完成之后才能执行&#xff0c;当遇到耗时的操作&#xff08;如网络请求等&#xff09;时&#xff0c;主线程会…

第二证券:深股和沪股区别?一文解析深股沪股区别?

深股&#xff0c;即在深圳证券生意所上市、生意的股票&#xff1b;沪股&#xff0c;即在上海证券生意所上市、生意的股票。 深市上市公司以小型和中型企业为主&#xff0c;上市条件相对较松&#xff1b;沪市的上市公司多为大型企业和国有企业&#xff0c;上市条件相对严峻。 …

Chromium CI/CD 之Jenkins实用指南2024- Windows节点开启SSH服务(七)

1.引言 在现代软件开发和持续集成的过程中&#xff0c;自动化部署和远程管理是不可或缺的关键环节。SSH&#xff08;Secure Shell&#xff09;协议以其强大的安全性和灵活性&#xff0c;成为连接和管理远程服务器的首选工具。对于使用Windows虚拟机作为Jenkins从节点的开发者而…

【整体介绍】HTML和JS编写多用户VR应用程序的框架

一、Networked-Aframe是什么&#xff1f; 简称NAF&#xff0c;底层基于Mozilla的AFrame框架&#xff0c;用HTML和JS编写多用户VR应用程序的框架。 二、特性 支持 WebRTC 和/或 WebSocket 连接。 语音聊天。音频流让您的用户在应用程序内交谈&#xff08;仅限 WebRTC&#xff…

【cocos creator】ts中export的模块管理

在 TypeScript&#xff08;TS&#xff09;中&#xff0c;export 和 import 的概念与 Java 中的 public 类、接口以及 import 语句有一些相似之处。可以用以下方式来类比理解&#xff1a; Export 在 TypeScript 中&#xff0c;export 用于将模块中的变量、函数、类等暴露给外部…

白酒销售的新零售模式|琼台酱酒醉仙洞酒商业模式

近年来&#xff0c;酱酒在白酒市场中始终占据绝对C位&#xff0c;被称为“液体黄金”&#xff0c;其金融属性深受市场认同。酱酒之所以如此盛行&#xff0c;与其低风险、高收益、低门槛和快速变现能力密不可分。酒类流通市场的主要参与者包括上游的生产商、中游的酒类流通企业和…

服务器的80和443端口关闭也能申请SSL证书

一、简介 在服务器的80和443端口关闭的情况下&#xff0c;确实可以申请SSL证书&#xff0c;但申请过程和方法会根据证书类型和验证方式的不同而有所差异。 通常如果是网站域名申请SSL证书&#xff0c;哪怕服务器的80、443端口都打不开&#xff0c;也可以通过DNS解析的方式来验…

vue复制链接操作

vue复制链接操作 使用clipboardclipboard属性代码实现 发布测试出现问题问题分析解决方案最终代码实现document.execCommand扩展常用例子 给要复制的文本或者按钮加上点击事件后&#xff0c;并将要复制的值传过来 使用clipboard clipboard属性 –解释read从剪贴板读取数据&a…

代码重构思想和VSCode编辑器中代码重构插件

目录 一、参考资料 二、VSCode重构插件 1、小浣熊 &#xff08;1&#xff09;功能 &#xff08;2&#xff09;使用说明 2、Code Spell Checker 3、Abracadabra, refactor this! &#xff08;1&#xff09;重命名变量或函数名称 &#xff08;2&#xff09;提取变量 &a…

【STC89C51单片机】定时器/计数器的理解

目录 定时器/计数器1. 定时器怎么定时简单理解&#xff08;加1经过了多少时间&#xff09;什么是时钟周期什么是机器周期 2.如何设置定时基本结构相关寄存器1. TMOD寄存器2. TCON寄存器 代码示例 定时器/计数器 STC89C51单片机的定时器和计数器&#xff08;Timers and Counter…

Talk|OSU汪博石:Transformer模型能否进行隐式的推理?关于Grokking和泛化的深入探索

本期为TechBeat人工智能社区第609期线上Talk。 北京时间7月17日(周三)20:00&#xff0c;俄亥俄州立大学博士生—汪博石的Talk已经准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “Transformer模型能否进行隐式的推理&#xff1f;关于Grokking和泛化的深入…

【leetcode】 字符串相乘(大数相乘、相加)

记录一下大数相乘相加方法&#xff1a; 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: nu…