如何在 Docker 容器中从 WordPress(联系表格)发送电子邮件?
Posted
技术标签:
【中文标题】如何在 Docker 容器中从 WordPress(联系表格)发送电子邮件?【英文标题】:How to send email from WordPress (contact forms) in Docker container? 【发布时间】:2017-05-29 05:04:07 【问题描述】:我在使用 Wordpress 图片时遇到了一点问题,非常感谢您的帮助。
我有现有的数据库,我用转储导入。
mysql Dockerfile 清单如下:
FROM mariadb:10.1.20
COPY dump/dump.sql /docker-entrypoint-initdb.d
ENV MYSQL_ROOT_PASSWORD pass
CMD ["mysqld"]
这是 Wordpress Dockerfile,这里我从 src 目录导入我的 wp-content 文件夹:
FROM wordpress:latest
COPY ./src /var/www/html
ENV WORDPRESS_DB_PASSWORD pass
ENV WORDPRESS_DB_NAME db
ENV WORDPRESS_DB_HOST mysql:3306
当然还有 docker-compose.yml 文件:
version: '2'
services:
mysql:
build: mysql/
restart: always
volumes:
- db_data:/var/lib/mysql
container_name: mysql
vshvetsov:
depends_on:
- mysql
build: wordpress/
ports:
- 8000:80
restart: always
container_name: wordpress
volumes:
db_data:
当我使用插件 Contact Form 7 时,单击按钮后发送电子邮件时出错,当然不会在我的邮箱中收到此消息。
我发现的唯一内容是这条消息:
172.18.0.1 - - [13/Jan/2017:13:52:42 +0000] "POST /const HTTP/1.1" 200 879 "http://localhost:8000/contacts" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
sh: 1: -t: not found
我尝试安装 sendmail,但仍然没有帮助。
谢谢大家的帮助。
我看到了this issue,但目前还没有修复。
【问题讨论】:
我希望这条评论能有所帮助:github.com/docker-library/php/issues/135#issuecomment-277199026 有这方面的消息吗? 有什么消息吗?这是一个关于 docker + wordpress 的非常典型的问题 【参考方案1】:您可以安装 ssmtp,如下所示: https://github.com/xgodon/RIG/blob/master/dockerized-apps/wordpress/Dockerfile
你只需要一个类似 ssmtp.conf 的文件
mailhub=smtp.gmail.com:587
AuthUser=xxx@mail.com
AuthPass=
UseSTARTTLS=YES
# Allow the "From" email header.
FromLineOverride=YES
发送有延迟(因为没有限定的主机名),但这里是解决方案: https://www.digitalocean.com/community/questions/sendmail-is-slow-to-send-mail
我会尽快更新 Dockerfile。
【讨论】:
以上是关于如何在 Docker 容器中从 WordPress(联系表格)发送电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
(Docker)如何在 WordPress 容器中使用单独的 Composer 容器安装依赖项?
如何使用 nginx-proxy 与 wordpress docker 容器一起运行 phpmyadmin?
在 docker 容器超时中从 s3 复制到 Redshift
在 Rider 中从 docker-compose 调试 .net 核心容器是错误的