From a0805bc0ce5f2198f1faecd5c1ee34b0897e9c1b Mon Sep 17 00:00:00 2001 From: 666-eth <77118877+666-eth@users.noreply.github.com> Date: Tue, 23 Jul 2024 13:47:37 +0800 Subject: [PATCH] Docs: Update new-address-api.md (#360) --- .../docs/zh/guide/feature/new-address-api.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/vitepress-docs/docs/zh/guide/feature/new-address-api.md b/vitepress-docs/docs/zh/guide/feature/new-address-api.md index 3c1c797b..88cd3687 100644 --- a/vitepress-docs/docs/zh/guide/feature/new-address-api.md +++ b/vitepress-docs/docs/zh/guide/feature/new-address-api.md @@ -23,3 +23,70 @@ res = requests.post( # 返回值 {"jwt": ""} print(res.json()) ``` + +# 批量创建随机用户名邮箱地址 API 示例 + +## 通过 admin API 批量新建邮箱地址 + +这是一个 `python` 的例子,使用 `requests` 库发送邮件。 + +```python +import requests +import random +import string +from concurrent.futures import ThreadPoolExecutor, as_completed + + +def generate_random_name(): + # 生成5位英文字符 + letters1 = ''.join(random.choices(string.ascii_lowercase, k=5)) + # 生成1-3个数字 + numbers = ''.join(random.choices(string.digits, k=random.randint(1, 3))) + # 生成1-3个英文字符 + letters2 = ''.join(random.choices(string.ascii_lowercase, k=random.randint(1, 3))) + # 组合成最终名称 + return letters1 + numbers + letters2 + + +def fetch_email_data(name): + try: + res = requests.post( + "https://", + json={ + "enablePrefix": True, + "name": name, + "domain": "<邮箱域名>", + }, + headers={ + 'x-admin-auth': "<你的网站admin密码>", + "Content-Type": "application/json" + } + ) + + if res.status_code == 200: + response_data = res.json() + email = response_data.get("address", "无地址") + jwt = response_data.get("jwt", "无jwt") + return f"{email}----{jwt}\n" + else: + print(f"请求失败,状态码: {res.status_code}") + return None + except requests.RequestException as e: + print(f"请求出现错误: {e}") + return None + + +def generate_and_save_emails(num_emails): + with ThreadPoolExecutor(max_workers=30) as executor, open('email.txt', 'a') as file: + futures = [executor.submit(fetch_email_data, generate_random_name()) for _ in range(num_emails)] + + for future in as_completed(futures): + result = future.result() + if result: + file.write(result) + + +# 生成10个邮箱并追加到现有文件 +generate_and_save_emails(10) + +```