【问题标题】:How To Test Sending Thousands Of Emails如何测试发送数千封电子邮件
【发布时间】:2017-05-25 15:54:57
【问题描述】:

我正在开发一个应用程序,该应用程序将使用 Amazon SES 基于 CSV 文件每天发送数千封电子邮件。

我的客户希望一次发送大约 50,000 个。

该应用程序几乎完成了,但是我想用数千封电子邮件对其进行测试。如果我第一次尝试使用实时数据,它就不起作用,那真是太可惜了。

现在我只使用 CSV 文件中的大约 10 封电子邮件对其进行了测试。

有人知道测试发送大约 10,000 封电子邮件的方法吗?显然我不能使用真实数据。

【问题讨论】:

  • 您是否尝试过使用 Amazon SES 的邮箱模拟器?

标签: ruby-on-rails email amazon-web-services amazon-ses


【解决方案1】:

我假设您没有进行完整的端到端测试(包括检查以确保收到电子邮件),而只是对您的应用程序逻辑执行功能测试。

如果是这样的话,

  1. 将您的应用程序指向测试电子邮件服务器和disable outbound email for all queues。您也可以在生产服务器上执行此操作,例如凌晨 3:00,我猜,但要小心!

  2. 运行应用程序

  3. 查看邮件服务器的发件箱,统计排队的邮件数量。

  4. 如果计数匹配,则您的测试通过。

  5. 不要忘记在重新开启之前清除队列!

【讨论】:

    【解决方案2】:

    我相信您可以使用真实数据。例如,要测试 10,000 封电子邮件,您可以执行以下操作(假设您已经 increased your SES sending limits):

    1. 在您的 CSV 文件中为 您已经管理的目标域生成 10,000 个电子邮件收件人。这 10,000 个电子邮件地址应该是随机的且不存在(例如,1eed1417-cc2c-4f7c-8ddb-7e0dfbcacb31@mydomain.com)。
    2. 为 mydomain.com 配置一个全方位电子邮件地址(例如,catch-all@mydomain.com)以接收发送到任何不存在地址的电子邮件。
    3. 将 SES SMTP 服务器添加到 mydomain.com 的受信任发件人/地址,并确保您的邮件服务器的限制规则允许此发送量。
    4. 在非高峰时段进行测试,并检查您的 catch-all 邮箱的收件箱。

    【讨论】:

      【解决方案3】:

      我最终做的是使用https://mailtrap.io/

      我发了 25 封电子邮件。然后向 25 封电子邮件中的每封发送 600 封电子邮件。这等于 15,000。

      我没有使用 action mailer 来发送电子邮件。我使用了 Amazon SES 发送电子邮件的方法

        def send_email!
          client.send_email(email_attributes)
        end
      
        private
      
        def client
          Aws::SES::Client.new(region: Rails.application.secrets.ses_region,
                               access_key_id: Rails.application.secrets.aws_access_key_id,
                               secret_access_key: Rails.application.secrets.aws_secret_access_key)
        end
      

      使用 Kabana 跟踪电子邮件。如果他们反弹,交付等等。

      SES 不会跟踪电子邮件打开情况,因此我们有一个小型 Node-JS 应用程序可以跟踪打开情况和可点击链接。

      该应用在 20 分钟内发送了大约 15000 封电子邮件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-09
        • 2015-12-05
        • 1970-01-01
        • 2011-02-18
        • 1970-01-01
        • 2013-08-09
        • 2011-02-08
        相关资源
        最近更新 更多