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

16 篇文章 0 订阅
12 篇文章 0 订阅

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

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);
}

?>

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

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

 

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值