Mailcatcher收到的邮件在哪里存储?

时间:2016-08-25 16:56:05

标签: mailcatcher

我在Mac上安装了postfix并更改了以下参数:

mydestination =
relayhost = 127.0.0.1:1025

我已将 mydestination 修改为空白,以便无论邮件发送到终端的人是谁,都必须通过中继主机(即使它被发送到@ localhost)我可以看到它出现在我的网络浏览器的Mailcatcher标签中:

echo "Body test" | mail -s "Subject test" test@dev.local

但事情就是这样,当我收到邮件时,我会立即收到内置的websockets,但如果我重新加载页面localhost:1080,电子邮件仍然存在,这意味着它们必须存储在某个地方

搜索后,我发现以下网址重定向到.json,其中包含在Mailcatcher标签中打印出来的已收到的邮件:

localhost:1080/messages

但如果我在我的webroot目录中执行ls -l,则不会显示messages.json。当你点击" Quit" Mailcatcher中的按钮,然后按mailcatcher重新启动它,再次打开localhost:1080邮件已经消失......

我不明白,当你点击" Quit"而且我可能还没有见过?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果您在GitHub上查看来源,您会在 mail.rb 中找到类似SQLite3::Database.new(":memory:", :type_translation => true).tap do |db|的内容。

您可能没有注意到,但MailCatcher使用SQLite,上面告诉您它已配置为在内存中运行。因此,当关闭MailCatcher时,此数据库中包含的所有行都将丢失。