如何从 Docker 容器中的 WordPress(联系表单)发送电子邮件?

Vad*_*sov 8 wordpress smtp sendmail phpmailer docker

我对 Wordpress 图像有一个小问题,感谢您的帮助。

我有现有的数据库,我用转储导入。

Mysql Dockerfile 列表如下:

FROM mariadb:10.1.20

COPY dump/dump.sql /docker-entrypoint-initdb.d

ENV MYSQL_ROOT_PASSWORD pass

CMD ["mysqld"]
Run Code Online (Sandbox Code Playgroud)

这是 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
Run Code Online (Sandbox Code Playgroud)

当然还有 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:
Run Code Online (Sandbox Code Playgroud)

当我使用插件 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
Run Code Online (Sandbox Code Playgroud)

我已经尝试安装 sendmail,但它仍然没有帮助。

谢谢大家的帮助。

我看到了这个问题,但目前还没有修复。

The*_*ngu 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
Run Code Online (Sandbox Code Playgroud)

发送有延迟(因为没有合格的主机名),但解决方案如下: https: //www.digitalocean.com/community/questions/sendmail-is-slow-to-send-mail

我会尽快更新 Dockerfile。