You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Capybara-email中查看ActionMailer指定邮件及同收件人全部邮件?

解决Capybara-email查看同一邮箱多封邮件的问题

直接操作ActionMailer::Base.deliveries数组

你可以直接访问邮件投递数组获取指定邮件,再手动保存打开:

# 获取第二封邮件(数组索引从0开始,第二封对应索引1)
email = ActionMailer::Base.deliveries[1]
# 转换为Capybara-email的消息对象并打开
Capybara::Email::Message.new(email).save_and_open

注意:数组索引从0开始,若只有两封邮件,第一封是[0],第二封是[1],使用[2]会触发越界错误。

使用open_email的:order参数

Capybara-email的open_email方法支持:order参数指定邮件顺序,默认是:last,可改为:first或具体索引:

# 打开第一封邮件
open_email('asdf@qwer.com', order: :first)
current_email.save_and_open

# 用索引指定打开第二封
open_email('asdf@qwer.com', order: 1)
current_email.save_and_open

遍历筛选目标邮箱的所有邮件

如果需要批量查看,可先筛选出所有发给目标邮箱的邮件,再逐个处理:

# 筛选所有发送至asdf@qwer.com的邮件
user_emails = ActionMailer::Base.deliveries.select do |email|
  email.to.include?('asdf@qwer.com')
end

# 逐个打开每一封邮件
user_emails.each do |email|
  Capybara::Email::Message.new(email).save_and_open
end

内容的提问来源于stack exchange,提问作者daveasdf_2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:52:06