Docker MGT开发环境和邮箱

时间:2016-10-26 05:07:49

标签: magento docker

我已经在docker MGT开发环境中安装了Magento 1.9.0.1和2个docker容器。这个想法是由magento容器生成的所有电子邮件都被mailhog容器smtp捕获。

    docker run -d -p 8025:8025 -p 1025:1025 --name smtp mailhog/mailhog 
    docker run -d --net=bridge --restart=always --privileged -h mgt-dev-56 --link smtp --name mgt-dev-56 -it -p 80:80 -p 443:443 -p 22:22 -p 3306:3306 -p 3333:3333 mgtcommerce/mgt-development-environment-5.6

我已将mailhog容器命名为 smtp ,并通过mgt-dev-56容器上的 - link smtp 参数进行链接。容器应用程序都通过各自的URL magento1.dev和127.0.0.1:8025工作。但是我无法获取smtp容器来捕获从mgt-dev-56容器生成的任何电子邮件。 我不确定是否需要配置postfix指向某个端口或ip。我注意到并确认容器mgt-dev-56和smtp之间存在网络连接。

以前有人遇到过这个问题吗? 我是否需要修改后缀上的配置?

这是mgt-dev-56容器的main.cf

        root@mgt-dev-56:/etc/postfix# vi main.cf
        smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
        biff = no
        append_dot_mydomain = no
        readme_directory = no
        smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
        smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
        smtpd_use_tls=yes
        smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
        smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
        smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
        myhostname = mgt-dev-56
        myorigin = $myhostname
        alias_maps = hash:/etc/aliases
        alias_database = hash:/etc/aliases
        mydestination = mgt-dev-56, localhost.localdomain, , localhost
        relayhost = 172.17.0.3:1025
        mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
        mailbox_size_limit = 0
        recipient_delimiter = +
        inet_interfaces = all

以下是mgt-dev-56容器的env,BTW 172.17.0.3是smtp容器的IP地址。

        root@mgt-dev-56:/etc/postfix# env 
        SMTP_PORT_1025_TCP_ADDR=172.17.0.3
        HOSTNAME=mgt-dev-56
        SMTP_PORT_8025_TCP=tcp://172.17.0.3:8025
        TERM=xterm
        SMTP_ENV_no_proxy=*.local, 169.254/16
        SMTP_PORT_1025_TCP_PORT=1025
        SMTP_PORT_8025_TCP_PORT=8025
        SMTP_PORT_1025_TCP_PROTO=tcp
        SMTP_PORT=tcp://172.17.0.3:1025
        PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        PWD=/etc/postfix
        SMTP_PORT_8025_TCP_PROTO=tcp
        SHLVL=1
        HOME=/root
        no_proxy=*.local, 169.254/16
        SMTP_PORT_8025_TCP_ADDR=172.17.0.3
        SMTP_NAME=/mgt-dev-56/smtp
        SMTP_PORT_1025_TCP=tcp://172.17.0.3:1025
        _=/usr/bin/env
        OLDPWD=/root/cloudpanel

1 个答案:

答案 0 :(得分:1)

我已将配置参数relayhost替换为实际的ip和端口号,而不是使用环境变量SMTP_PORT_8025_TCP作为main.cf,而postfix不喜欢环境变量。 MailHog现在收集通过line命令和magento创建的所有电子邮件。