【问题标题】:Symfony Swiftmail with docker mailcatcherSymfony Swiftmail 与 docker mailcatcher
【发布时间】:2020-07-07 06:02:08
【问题描述】:

我有一个在 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。

谢谢

【问题讨论】:

    标签: docker symfony swiftmailer mailcatcher


    【解决方案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* 文件中的更改不会立即应用。

    【讨论】:

    • 非常感谢您的回复。不幸的是,它不起作用。我按照建议设置它,重新启动容器并清除缓存。发送邮件时,容器邮件日志中根本没有任何条目,并且邮件捕获器中也没有邮件。
    • 您确定确实发送了邮件吗?因为swiftmailer如果无法连接到smtp服务器会抛出异常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多