我已经在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
答案 0 :(得分:1)
我已将配置参数relayhost替换为实际的ip和端口号,而不是使用环境变量SMTP_PORT_8025_TCP作为main.cf,而postfix不喜欢环境变量。 MailHog现在收集通过line命令和magento创建的所有电子邮件。