[GH-ISSUE #211] [BUG]随机生成的邮箱名字不合法 #69

Closed
opened 2026-02-26 20:35:28 +03:00 by kerem · 4 comments
Owner

Originally created by @O-OoOvO on GitHub (May 8, 2024).
Original GitHub issue: https://github.com/dreamhunter2333/cloudflare_temp_email/issues/211

复现步骤

点击“生成随机名字”按钮

有较大概率生成例如“mr..frederick.brekke.dds”这种包含连续"."点号的无效邮箱名。
用Gmail向该邮箱发邮件会无法发送,并提示无法识别“收件人”字段中的地址“mr..frederick.brekke.dds”。请确保所有地址都使用正确的格式。

预期行为

生成一个合法的邮箱名字

部署方式

  • [ X ] 用户界面部署

浏览器环境

Firefox 125.0.3 (64-bit)

给GPT看了以下代码:
github.com/dreamhunter2333/cloudflare_temp_email@55b2603913/frontend/src/views/Login.vue (L70-L84)
它给提了以下修改方案:

使用 faker 的内置方法 faker.internet.email() 直接生成一个随机邮箱是一个非常直接和高效的方法。你可以直接使用这个方法来生成邮箱,然后通过处理字符串,取出 "@" 符号之前的部分,并转换为小写,以确保格式符合你的需求。

const generateName = async () => {
    try {
        generateNameLoading.value = true;
        const { faker } = await import('https://esm.sh/@faker-js/faker');
        const randomEmail = faker.internet.email(); // 直接生成一个随机邮箱
        emailName.value = randomEmail
            .split('@')[0] // 取 "@" 前的部分
            .replace(/\.{2,}/g, '.') // 替换连续的点为单个点
            .toLowerCase(); // 转换为小写
    } catch (error) {
        message.error(error.message || "error");
    } finally {
        generateNameLoading.value = false;
    }
};

本人看不懂typescript和js,以上内容仅供参考。辛苦作者大大了。

Originally created by @O-OoOvO on GitHub (May 8, 2024). Original GitHub issue: https://github.com/dreamhunter2333/cloudflare_temp_email/issues/211 ## 复现步骤 点击“生成随机名字”按钮 有较大概率生成例如“mr..frederick.brekke.dds”这种包含连续"."点号的无效邮箱名。 用Gmail向该邮箱发邮件会无法发送,并提示`无法识别“收件人”字段中的地址“mr..frederick.brekke.dds”。请确保所有地址都使用正确的格式。` ## 预期行为 生成一个合法的邮箱名字 ## 部署方式 - [ X ] 用户界面部署 ## 浏览器环境 Firefox 125.0.3 (64-bit) 给GPT看了以下代码: https://github.com/dreamhunter2333/cloudflare_temp_email/blob/55b2603913e5f23f4fb7fbcfdc42851688817f29/frontend/src/views/Login.vue#L70-L84 它给提了以下修改方案: > 使用 faker 的内置方法 faker.internet.email() 直接生成一个随机邮箱是一个非常直接和高效的方法。你可以直接使用这个方法来生成邮箱,然后通过处理字符串,取出 "@" 符号之前的部分,并转换为小写,以确保格式符合你的需求。 > ``` > const generateName = async () => { > try { > generateNameLoading.value = true; > const { faker } = await import('https://esm.sh/@faker-js/faker'); > const randomEmail = faker.internet.email(); // 直接生成一个随机邮箱 > emailName.value = randomEmail > .split('@')[0] // 取 "@" 前的部分 > .replace(/\.{2,}/g, '.') // 替换连续的点为单个点 > .toLowerCase(); // 转换为小写 > } catch (error) { > message.error(error.message || "error"); > } finally { > generateNameLoading.value = false; > } > }; > ``` 本人看不懂typescript和js,以上内容仅供参考。辛苦作者大大了。
kerem closed this issue 2026-02-26 20:35:28 +03:00
Author
Owner

@dreamhunter2333 commented on GitHub (May 8, 2024):

感谢反馈,我修复下连续点号的问题

<!-- gh-comment-id:2100063745 --> @dreamhunter2333 commented on GitHub (May 8, 2024): 感谢反馈,我修复下连续点号的问题
Author
Owner

@dreamhunter2333 commented on GitHub (May 9, 2024):

v0.4.0 已修复

<!-- gh-comment-id:2102714698 --> @dreamhunter2333 commented on GitHub (May 9, 2024): v0.4.0 已修复
Author
Owner

@acocchat commented on GitHub (May 10, 2024):

为什么生成的名字里面会有数字呢?
eg:fabian.mraz89

<!-- gh-comment-id:2103681641 --> @acocchat commented on GitHub (May 10, 2024): 为什么生成的名字里面会有数字呢? eg:fabian.mraz89
Author
Owner

@dreamhunter2333 commented on GitHub (May 10, 2024):

为什么生成的名字里面会有数字呢? eg:fabian.mraz89

使用 fakejs 随机生成的邮箱,可能会包含数字,可以在随机生成的名字基础上修改

<!-- gh-comment-id:2104612078 --> @dreamhunter2333 commented on GitHub (May 10, 2024): > 为什么生成的名字里面会有数字呢? eg:fabian.mraz89 使用 fakejs 随机生成的邮箱,可能会包含数字,可以在随机生成的名字基础上修改
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cloudflare_temp_email#69
No description provided.