电子邮件中的“加号”具有同一电子邮件的唯一版本,它是如何工作的?管理生产和测试环境



我有一个拥有数百名真实用户的 Web 应用程序。

我需要有一个具有生产状态的测试环境,因为应用程序是数据驱动的,应用程序的状态会从数据中更改,如果没有真正的用户数据存在,则无法测试事物......

但是由于它有真正的电子邮件,它在测试中的风险,因为测试电子邮件可以去真正的用户。

所以我需要一种机制来将电子邮件更改为不真实的东西,但由于电子邮件字段是唯一的,我如何通过一个查询更改所有电子邮件。

我的同事建议一封带有 +any_number ex. 的电子邮件。 rajat@gmail.comrajat+27@gmail.com会将电子邮件发送到同一电子邮件。

所以我写了一个查询

update users set email = CONCAT(CONCAT('rajat+',id),'@gmail.com')

它解决了问题..现在,我可以使用生产数据测试环境。

我的问题:

1)它是如何工作的??

2)这是一个正确的方法吗?人们如何管理测试和生产环境?

我更喜欢更改代码低级别而不是更改数据库。例如:

function sendEmail($to, ...) {
    if (APPLICATION_ENV != 'production') {
        $to = "dev@.....";
    }
    // continue ...
}

这样,您始终可以确保收件人地址更改为测试地址,即使该地址来自不同的来源(如表单)。

相关内容

  • 没有找到相关文章

最新更新