1

我有一个在 docker 设置中运行的 Symfony 应用程序(v4.3)。此设置还有一个用于邮件捕手的容器。无论我如何尝试在 .env 文件中设置 MAILER_URL,邮件捕获器中都不会显示邮件。如果我只是调用常规 PHP mail() 函数,邮件会在邮件接收器中弹出。该设置也已用于其他项目,并且没有任何缺陷。只有使用 Symfony Swiftmailer 我不能发送邮件。

我的 docker-compose 文件如下所示:

version: '3'
services:
  #######################################
  # PHP application Docker container
  #######################################
  app:
    container_name: project_app
    build:
      context: docker/web
    networks:
      - default
    volumes:
      - ../project:/project:cached
      - ./etc/httpd/vhost.d:/opt/docker/etc/httpd/vhost.d
    # cap and privileged needed for slowlog
    cap_add:
      - SYS_PTRACE
    privileged: true
    env_file:
      - docker/web/conf/environment.yml
      - docker/web/conf/environment.development.yml
    environment:
      - VIRTUAL_HOST=.project.docker
      - POSTFIX_RELAYHOST=[mail]:1025
  #######################################
  # Mailcatcher
  #######################################
  mail:
    image: schickling/mailcatcher
    container_name: project_mail
    networks:
      - default
    environment:
      - VIRTUAL_HOST=mail.project.docker
      - VIRTUAL_PORT=1080

我对 MAILER_URL 设置时间感到满意,但到目前为止一切都失败了。希望这里有人知道如何设置 MAILER_URL。

谢谢

4

1 回答 1

1

根据docker-compose.yml,您MAILER_URL应该是:

smtp://project_mail:1025

仔细检查它是否具有正确的值

然后,您可以查看容器日志, docker-compose logs -f mail以查看您的消息是否完全到达服务。它会是这样的:

==> SMTP: Received message from '<user@example.com>' (619 bytes)

第二:尝试重新启动您的容器。有时 .env* 文件中的更改不会立即应用。

于 2020-07-07T12:26:46.033 回答