3

我正在从事一个电子邮件密集型项目,我很欣赏电子邮件在 DDEV 上的 mailhog 中出现,但我想在 gmail、Outlook 等中看到它们。我怎样才能让它们到达我想查看它们的位置? (我ddev launch -m用来在 ddev 中启动 mailhog 浏览器;文档位于https://ddev.readthedocs.io/en/latest/users/developer-tools/#email-capture-and-review

4

1 回答 1

3

这并不难做到,只是 Mailhog 的调试/错误输出没有被 ddev 捕获或呈现,因此需要一些努力才能使其正常工作。

  • 您需要一个可以接受常规 SMTP 流量的 smtp 服务器。如今,它将需要用户名和密码。我使用了 mailgun ( https://www.mailgun.com/ ),它是免费的,但需要信用卡。我假设你已经设置好了。
  • 您需要能够在 Mailhog 尝试“释放”电子邮件时看到它的输出。我们将使用 ddev 自定义命令来解决这个问题。

一步步:

  • 安装此自定义命令以查看 mailhog 的输出。将其放入 .ddev/commands/web/mailhog-debug 并确保它是可执行的(chmod +x .ddev/commands/web/mailhog-debug)。
#!/bin/bash

## Description: capture debug from mailhog
## Usage: mailhog-debug
## Example: "ddev mailhog-debug"

set -eu -o pipefail

echo "mailhog on project d8composer"
sudo rm -f /etc/supervisor/conf.d/mailhog.conf # Remove mailhog from supervisor conf
kill -1 1  # Tell supervisord to reload
killall mailhog || true
mailhog
  • 发送一个消息。这可以是项目的联系页面或您的应用程序正在执行的任何操作。
  • 在 Mailhog 中查看消息(用于ddev launch -m启动 Mailhog 界面)。
  • 使用“发布”按钮将消息发布到野外: Mailhog 释放按钮
  • 启用 mailhog 调试,ddev mailhog-debug它会一直运行到你
  • 在“发布”表单上,您需要为其提供您将要使用的凭据。您可以单击“保存这些设置”复选框...但是下次您在这里时必须取消选中它,否则 Mailhog 会丢弃您的消息,说它已经创建了该服务器。 mailhog 的 SMTP 服务器设置
  • 单击“发布消息”并在终端窗口中观看调试过程。如果你像我一样,在你做对之前你会遇到一些身份验证失败。
  • 喜欢在目标电子邮件地址查看电子邮件。
于 2020-07-08T22:17:20.870 回答