在做 Node.js 应用开发课程里,介绍应用的邮件功能的时候,我需要一个在本地测试应用的邮件功能。可以使用 MailHog 提供的服务。它提供了一个 Web 界面,可以检查应用发送的邮件。运行 MailHog 最简单的方法是用 Docker,在本地安装 Docker for mac 或 Docker for windows。在命令行下面,执行:
docker run --name mailhog -p 1025:1025 -p 8025:8025 -d mailhog/mailhog
上面就是基于 mailhog 镜像创建了一个容器,给它起了个名字叫 mailhog,你可以使用这个名字控制容器的状态。-p 设置了两个端口。1025 是发邮件用的端口,8025 是 Web 界面用的端口。
第一次运行会先去下载 mailhog 镜像,需要花点时间。你可以配置一下 Docker,让它使用国内的镜像服务,阿里云提供这样的服务。这样下载镜像的速度会快很多。
打开浏览器,访问 localhost:8025,你可以看到一个 mailhog 提供的 Web 界面:
配置应用的 SMTP 邮件功能的时候,邮件服务主机填写 localhost,端口号是 1025。这样应用发送的邮件都会被 mailhog 接收到,你在它提供的 Web 界面可以检查邮件内容。
镜像加速
登录 dev.aliyun.com ,得到加速地址。打开 Docker 设置,Daemon,在 Registry mirrors 里面添加你在阿里云那里得到的镜像加速地址。