使用Docker容器中的GNU Mailutils发送邮件

时间:2017-05-24 12:10:58

标签: linux email ubuntu docker

我创建了一个docker镜像,我使用以下命令安装mailutils包:

{
      "short_name": "Name Of Website",
      "name": "The Website",
      "icons": [
        {
          "src": "launcher-icon-0-75x.png",
          "sizes": "36x36",
          "type": "image/png"
        },
        {
          "src": "launcher-icon-1x.png",
          "sizes": "48x48",
          "type": "image/png"
        },
        {
          "src": "launcher-icon-1-5x.png",
          "sizes": "72x72",
          "type": "image/png"
        },
        {
          "src": "launcher-icon-2x.png",
          "sizes": "96x96",
          "type": "image/png"
        },
        {
          "src": "launcher-icon-3x.png",
          "sizes": "144x144",
          "type": "image/png"
        },
        {
          "src": "launcher-icon-4x.png",
          "sizes": "192x192",
          "type": "image/png"
        }
      ],
      "display": "browser",
      "prefer_related_applications": true,
      "related_applications": [
        {
          "platform": "play",
          "id": "com.the.appid"
        }
      ]
    }

作为示例命令,我正在运行:

RUN apt-get update && apt-get install -y mailutils

当我在本地计算机上执行相同的命令时,它会发送邮件。但是,在docker容器中,它没有显示任何错误,但在指定的电子邮件ID上没有收到邮件。

我在生成我的docker容器时尝试使用mail -s 'Hello World' {email-address} <<< 'Message body' 参数。

以下是我的docker命令:

--net=host

我有什么遗失的吗?有人可以解释这个问题背后的网络概念吗?

2 个答案:

答案 0 :(得分:1)

安装_handlePress(event) { var username= this.refs.username._lastNativeText; 并配置为将所有邮件发送到您的中继主机。

https://wiki.debian.org/sSMTP

答案 1 :(得分:0)

感谢@pilasguru的回复。 ssmtp适用于从docker容器中发送邮件。

只是为了使回复更加冗长,以下是需要做的事情。

  • 在容器中安装ssmtp。您可以通过以下命令执行此操作。

    RUN apt-get update && apt-get -y install ssmtp

  • 您可以在/etc/ssmtp/ssmtp.conf

    配置ssmtp的配置

    理想的配置。

`

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root={root-name}

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub={smtp-server}

# Where will the mail seem to come from?
rewriteDomain={domain-name}

# The full hostname
hostname=c67fcdc6361d

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

`

  • 您可以直接从您创建泊坞窗映像的根目录中复制该目录。例如。将配置保存在名为my.conf的文件中。

    您可以使用以下命令将它们复制到docker容器中:

    COPY ./my.conf /etc/ssmtp/ssmtp.conf

  • 使用简单的命令发送邮件,例如:

    ssmtp recipient_name@gmail.com < filename.txt

  • 您甚至可以发送附件,使用以下命令指定和来自

    echo -e "to: {to-addr}\nFrom: {from-addr}\nsubject: {subject}\n"| (cat - && uuencode /path/to/file/inside/container {attachment-name-in mail}) | ssmtp recipient_name@gmail.com

  • uuencode可以通过命令apt-get install sharutils

  • 安装