本页由英文自动翻译。

阅读英文版
Proxy Mail QA

营销和优惠邮件

测试优惠、优惠券和退订,而不只是注册。

用一个新的测试账号领取优惠,收到带折扣和截止日期的优惠券。记录结账时如何处理它,发现同一个人领取两次的情况,并确保退订后营销邮件彻底停止。

Free 套餐 · 在 Labs 中开启 · 仅限测试站点 · Proxy Mail QA 从不点击链接

工作原理

从“注册立减 20%”到检查完毕。

  1. 领取优惠

    在 Account settings → Labs 中开启“营销和优惠邮件”。然后在你的预发布站点上使用一个新地址,记录表单询问了哪些营销相关内容,包括默认已勾选的选项。

  2. 获取优惠券

    优惠券到达时会附带折扣、截止日期和送达用时。复制它,或让你的测试或智能体等待它。

  3. 在结账时使用

    在预发布环境中用测试支付使用它,然后记录是否被接受。已过期或重复使用的优惠券若被接受,则判为失败。

  4. 退订并持续观察

    像真人一样退订,把地址标记为已退订,此后该发件人发来的任何营销邮件都会被标记,不论多晚到达。

你可以测试什么

客户注册后收到的每一封邮件。

优惠券

邮件中写明的代码、折扣和有效期,送达用了几分钟,邮件未说明截止时间时会给出警告。

结账结果

记录结账时显示的内容,结果会被判定。过了截止日期仍被接受、一次性优惠券被用了两次,或重复领取的优惠被接受,都判为失败。

每人限领一次

发往 name+promo1@ 和 NAME@ 的邮件会进入同一个收件箱。分别用它们注册,看看你的应用是否给同一个人发了两次欢迎优惠。

持续有效的退订

将某个地址标记为已退订某个发件人。此后的任何营销邮件都会被标记,没有时间限制,而收据和安全邮件照常送达。

各国规则

为账号指定国家,并记录它同意了什么。营销邮件会对照欧盟和欧洲经济区、英国、美国、加拿大、澳大利亚、新西兰、瑞士、日本、韩国、新加坡和香港的规则进行检查,每条都附有来源。

营销邮件检查

每封营销邮件都检查:使用 https 地址的 List-Unsubscribe 邮件头、一键退订、邮件中的退订链接和预览文本。

欢迎系列和定时推送

按顺序查看每封邮件及其间隔时间,并在测试中检查系列邮件是否按顺序准时到达。

有害附件和垃圾邮件

Gmail 会拦截或过滤器不信任的附件,以及基于垃圾邮件过滤器所权衡特征、为每封邮件给出的满分 10 分垃圾邮件评分,统计在“报告”和运行报告中。

收据始终是收据

每封邮件都会归类为登录、事务或营销邮件,所以带折扣码的收据不会被误认为营销邮件。

在你的测试中

在一个测试中完成优惠、结账和退订。

npm 包、Python 辅助工具和 REST API 能做应用能做的一切。智能体通过 MCP server 获得同样的能力,并附有现成的提示词,例如 test_coupon_checkout 和 test_unsubscribe。完整说明见开发者文档。

Playwright 配合 npm 包

offer.spec.ts
const submitted = new Date();
await page.getByRole('button', { name: 'Get 20% off' }).click();

// Offers often take minutes: this waits up to 10.
const coupon = await qa.waitForCode(address, { type: 'coupon', since: submitted, timeout: 600 });
expect(coupon.discount).toBe('20% off');

await page.getByLabel('Promo code').fill(coupon.value);
await page.getByRole('button', { name: 'Apply' }).click();
const result = await qa.recordCouponResult(address, 'accepted', { oneTime: true });
expect(result.check?.status).toBe('pass');

// Unsubscribe as a person would, then watch for more marketing.
await page.goto(await qa.waitForLink(address, { type: 'unsubscribe', since: submitted }));
await qa.markUnsubscribed(address, { service: 'acme.com' });

pytest 配合 Python 辅助工具

test_offer.py
from proxymail_qa import create_address, expect_no_email, now, wait_for_code


def sign_up_for_offer(page, email):
    page.goto("/offer")
    page.get_by_label("Email").fill(email)
    page.get_by_role("button", name="Get 20% off").click()


def test_welcome_offer_once_per_person(page):
    address = create_address()["address"]
    submitted = now()
    sign_up_for_offer(page, address)
    wait_for_code(address, since=submitted, type="coupon", timeout=600)

    # The same person as name+promo1@ (the same inbox): no second coupon.
    again = address.replace("@", "+promo1@")
    submitted = now()
    sign_up_for_offer(page, again)
    expect_no_email(again, since=submitted, type="code", subtype="coupon", timeout=300)

安全的设计

点击由你的测试完成,Proxy Mail QA 只负责读取。

  • 从不点击

    Proxy Mail QA 从不打开退订链接、确认订阅或结账。这些由你的测试、你的智能体或你自己在你的浏览器中完成。

  • 仅限测试支付

    结账测试在预发布环境中使用测试卡或平台沙盒运行,从不使用真实的银行卡或个人信息。

  • 智能体获得判定结果,而非邮件

    智能体获得优惠券、折扣、截止日期和检查结果,从不获得邮件正文。

  • 测试辅助,而非法律意见

    各国规则都注明了官方来源和我们核查的日期。关于你的企业必须做什么,请咨询律师。

  • 估计会注明是估计

    垃圾邮件风险是根据邮件所呈现内容做出的估计。收件箱还会权衡发件人的信誉,这只有它们能看到。

  • 仅限测试站点

    用于你构建或可能测试的应用的开发、预发布、QA、预览和本地版本,绝不用于线上版本,也绝不用于领取其他站点的优惠。

FAQ

常见问题

Proxy Mail QA 会点击退订链接吗?

不会。它从不打开邮件中的链接。它会在每个退订链接旁显示“打开链接”和“复制”,并把链接提供给测试和智能体,让你像真人一样退订。

这是法律意见吗?

不是。它是测试辅助工具:按照官方指南的描述,显示哪些邮件不符合规则,让你在问题影响真实用户之前发现它。关于你的企业必须做什么,请咨询律师。

我能用它领取其他站点的优惠吗?

不能。为了从不属于你的服务领取注册奖励或优惠券而创建账号属于欺诈,也违反我们的条款。这些账号用于在开发、预发布或 QA 环境中测试你自己的优惠。

它会告诉我邮件是否进入垃圾邮件吗?

它会为每封邮件给出满分 10 分的垃圾邮件评分,累加垃圾邮件过滤器权衡的特征,例如 DMARC 检查失败、没有 DKIM、Gmail 会拦截的附件、短链接,或营销邮件没有一键退订,并显示各项加分内容。5 分及以上表示很可能被拒收或进入垃圾邮件。“报告”和运行报告会统计这些邮件。这只是估计:收件箱还会权衡发件人的信誉,这只有它们能看到。

退订观察会持续多久?

与地址的有效期相同。在你标记的时间之后,该发件人发来的任何营销邮件都会计入,不论是 1 分钟后还是三周后到达,直到你停止观察或将地址重新标记为已订阅。

更多功能

端到端测试你的下一个欢迎优惠。

创建一个免费账号,用新的测试地址领取你的优惠,查看优惠券、检查结果以及退订后会发生什么。

免费创建账号打开应用

对本页有疑问?

可以用任何语言提问。文档可以立即回答,你也可以把问题发给 Proxy Mail QA 团队,他们会用英文回复。