Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何测试发送数千封电子邮件_Ruby On Rails_Email_Amazon Web Services_Amazon Ses - Fatal编程技术网

Ruby on rails 如何测试发送数千封电子邮件

Ruby on rails 如何测试发送数千封电子邮件,ruby-on-rails,email,amazon-web-services,amazon-ses,Ruby On Rails,Email,Amazon Web Services,Amazon Ses,我正在开发一个应用程序,它将使用AmazonSES基于CSV文件每天发送数千封电子邮件 我的客户希望一次发送大约50000个 该应用程序几乎完成,但我想测试它与数以千计的电子邮件。如果在我第一次尝试使用实时数据时它不起作用,那将是多么遗憾啊 目前,我只使用CSV文件中的大约10封电子邮件对其进行了测试 有人知道测试发送10000封电子邮件的方法吗?显然,我不能使用真实数据。我假设您没有进行完整的端到端测试(包括检查以确保收到电子邮件),而只是对应用程序逻辑执行功能测试 如果是这样的话, 将您的应

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

我的客户希望一次发送大约50000个

该应用程序几乎完成,但我想测试它与数以千计的电子邮件。如果在我第一次尝试使用实时数据时它不起作用,那将是多么遗憾啊

目前,我只使用CSV文件中的大约10封电子邮件对其进行了测试


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

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

如果是这样的话,

  • 将您的应用程序指向测试电子邮件服务器,然后重试。你也可以在生产服务器上这样做,比如说凌晨3点,我想,但要小心

  • 运行应用程序

  • 检查电子邮件服务器的发件箱并计算已排队的项目数

  • 如果计数匹配,则表明您的测试已通过

  • 不要忘记在重新打开队列之前清除它


  • 我相信你可以使用真实的数据。例如,要测试10000封电子邮件,您可以执行以下操作(假设您已经:

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

  • 我最后做的是使用

    我发了25封电子邮件。然后向25封电子邮件中的每封发送了600封电子邮件。这相当于15000英镑

    我没有使用action mailer发送电子邮件。我使用了亚马逊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
    
    用卡巴纳来追踪邮件。如果他们弹跳,交付等等

    SES不会跟踪打开的电子邮件,所以我们有一个小的NodeJS应用程序,可以跟踪打开的邮件和可点击的链接


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

    您是否尝试过亚马逊SES的邮箱模拟器?