code: def send_ready_for_review(build_id, release_name, release_number):
      build = models.Build.query.get(build_id)
      if not build.send_email:
          logging.debug(
              'Not sending ready for review email because build does not have '
              'email enabled. build_id=%r', build.id)
          return
      ops = operations.BuildOps(build_id)
      release, run_list, stats_dict, _ = ops.get_release(
          release_name, release_number)
      if not run_list:
          logging.debug(
              'Not sending ready for review email because there are '
              ' no runs. build_id=%r, release_name=%r, release_number=%d',
              build.id, release.name, release.number)
          return
      title = '%s: %s - Ready for review' % (build.name, release.name)
      email_body = render_template(
          'email_ready_for_review.html',
          build=build,
          release=release,
          run_list=run_list,
          stats_dict=stats_dict)
      recipients = []
      if build.email_alias:
          recipients.append(build.email_alias)
      else:
          for user in build.owners:
              recipients.append(user.email_address)
      if not recipients:
          logging.debug(
              'Not sending ready for review email because there are no '
              'recipients. build_id=%r, release_name=%r, release_number=%d',
              build.id, release.name, release.number)
          return
      message = Message(title, recipients=recipients)
      message.html = email_body
      logging.info('Sending ready for review email for build_id=%r, '
                   'release_name=%r, release_number=%d to %r',
                   build.id, release.name, release.number, recipients)
      return render_or_send(send_ready_for_review, message)