如何从Docker容器中的Wordpress发送电子邮件?

时间:2017-01-13 18:26:15

标签: php wordpress docker phpmailer sendmail

我对Wordpress图像有一点问题,感谢任何帮助。

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

我的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:

当我使用插件联系表格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,但现在还没有解决。

1 个答案:

答案 0 :(得分:0)

您可以安装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。