From e1dd60c0e16beacfc1f61fa4d2e56982d7bc1397 Mon Sep 17 00:00:00 2001 From: kev Date: Sun, 31 Jan 2016 14:33:49 +0800 Subject: [PATCH] add nullmailer --- README.md | 1 + nullmailer/Dockerfile | 42 ++++++++++++++++++++++++++++++ nullmailer/Dockerfile.debian | 23 +++++++++++++++++ nullmailer/README.md | 45 +++++++++++++++++++++++++++++++++ nullmailer/docker-compose.yml | 6 +++++ nullmailer/nullmailer/adminaddr | 1 + nullmailer/nullmailer/remotes | 1 + 7 files changed, 119 insertions(+) create mode 100644 nullmailer/Dockerfile create mode 100644 nullmailer/Dockerfile.debian create mode 100644 nullmailer/README.md create mode 100644 nullmailer/docker-compose.yml create mode 100644 nullmailer/nullmailer/adminaddr create mode 100644 nullmailer/nullmailer/remotes diff --git a/README.md b/README.md index 73965fc..c78565f 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ dockerfiles - [x] nodebb :+1: - [x] node-red :+1: - [x] node-red-arm :+1: +- [x] nullmailer - [x] obfsproxy - [x] opencart - [x] openvpn :+1: diff --git a/nullmailer/Dockerfile b/nullmailer/Dockerfile new file mode 100644 index 0000000..83721f7 --- /dev/null +++ b/nullmailer/Dockerfile @@ -0,0 +1,42 @@ +# +# Dockerfile for nullmailer +# + +FROM alpine +MAINTAINER kev + +ENV NM_VER 2.0 +ENV NM_URL https://github.com/bruceg/nullmailer/archive/$NM_VER.tar.gz + +RUN set -xe \ + && apk add -U autoconf \ + automake \ + build-base \ + curl \ + gnutls \ + gnutls-dev \ + libstdc++ \ + tar \ + && adduser -H -D nullmail \ + && mkdir nullmailer \ + && cd nullmailer \ + && curl -sSL $NM_URL | tar xz --strip 1 \ + && mv ChangeLog.old ChangeLog \ + && chmod +x autogen.sh \ + && ./autogen.sh \ + && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-tls \ + && make install install-root \ + && cd .. \ + && rm -rf nullmailer \ + && apk del autoconf \ + automake \ + build-base \ + curl \ + gnutls-dev \ + tar \ + && rm -rf /var/cache/apk/* + +VOLUME /etc/nullmailer +WORKDIR /var/spool/nullmailer/queue + +CMD ["nullmailer-send"] diff --git a/nullmailer/Dockerfile.debian b/nullmailer/Dockerfile.debian new file mode 100644 index 0000000..ae12812 --- /dev/null +++ b/nullmailer/Dockerfile.debian @@ -0,0 +1,23 @@ +# +# Dockerfile for nullmailer +# + +FROM debian:jessie +MAINTAINER kev + +ENV DEBIAN_FRONTEND=noninteractive + +RUN set -xe \ + && apt-get update \ + && apt-get install -y nullmailer \ + && rm -rf /var/cache/apt/list.d/* + +RUN set -xe \ + && mkfifo /var/spool/nullmailer/trigger \ + && chown mail:root /var/spool/nullmailer/trigger \ + && chmod 0622 /var/spool/nullmailer/trigger + +VOLUME /etc/nullmailer +WORKDIR /var/spool/nullmailer/queue + +CMD ["nullmailer"] diff --git a/nullmailer/README.md b/nullmailer/README.md new file mode 100644 index 0000000..552cf63 --- /dev/null +++ b/nullmailer/README.md @@ -0,0 +1,45 @@ +nullmailer +========== + +![](https://badge.imagelayers.io/vimagick/nullmailer:latest.svg) + +[nullmailer][1] is a simple relay-only mail transport agent. + +## Directory Tree + +``` +~/fig/nullmailer/ +├── Dockerfile +└── nullmailer/ + ├── adminaddr --> username@gmail.com + └── remotes --> smtp.gmail.com smtp --port=465 --auth-login --user=username --pass=****** --ssl +``` + +> Read [this][2] to config. + +## docker-compose.yml + +```yaml +nullmailer: + image: vimagick/nullmailer + cotainer_name: nullmailer + volumes: + - ./nullmailer:/etc/nullmailer + restart: always +``` + +## Up and Running + + +```bash +# start service +$ cd ~/fig/nullmailer +$ docker-compose up -d + +# send test email +$ alias sendmail='docker exec -i nullmailer sendmail' +$ echo -e 'Subject: hello\r\n\r\nworld' | sendmail username@gmail.com +``` + +[1]: http://untroubled.org/nullmailer/ +[2]: http://raspberry.znix.com/2013/03/nullmailer-on-raspberry-pi.html diff --git a/nullmailer/docker-compose.yml b/nullmailer/docker-compose.yml new file mode 100644 index 0000000..869ab6e --- /dev/null +++ b/nullmailer/docker-compose.yml @@ -0,0 +1,6 @@ +nullmailer: + image: vimagick/nullmailer + container_name: nullmailer + volumes: + - ./nullmailer:/etc/nullmailer + restart: always diff --git a/nullmailer/nullmailer/adminaddr b/nullmailer/nullmailer/adminaddr new file mode 100644 index 0000000..207e9c9 --- /dev/null +++ b/nullmailer/nullmailer/adminaddr @@ -0,0 +1 @@ +username@gmail.com diff --git a/nullmailer/nullmailer/remotes b/nullmailer/nullmailer/remotes new file mode 100644 index 0000000..b3abc21 --- /dev/null +++ b/nullmailer/nullmailer/remotes @@ -0,0 +1 @@ +smtp.gmail.com smtp --port=465 --auth-login --user=username --pass=****** --ssl