Compare commits
4 Commits
66a537767f
...
b5692c03d9
Author | SHA1 | Date | |
---|---|---|---|
b5692c03d9 | |||
fe8bf5d73c | |||
feee56b98c | |||
d6536071ef |
@ -1,6 +1,7 @@
|
|||||||
FROM docker.io/library/alpine:3.11.2
|
FROM docker.io/library/alpine:3.11.2
|
||||||
|
|
||||||
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
|
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
|
||||||
|
RUN apk upgrade
|
||||||
RUN apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
|
RUN apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
|
||||||
RUN mkdir --parents /run/fetchmail
|
RUN mkdir --parents /run/fetchmail
|
||||||
|
|
||||||
|
2
Makefile
2
Makefile
@ -9,7 +9,7 @@ FETCHMAIL_IMAGE_REGISTRY_NAME:=docker.io
|
|||||||
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
|
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
|
||||||
|
|
||||||
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
|
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
|
||||||
FETCHMAIL_IMAGE_NAME:=fetchmail
|
FETCHMAIL_IMAGE_NAME:=postfixadmin-fetchmail
|
||||||
FETCHMAIL_IMAGE_VERSION?=latest
|
FETCHMAIL_IMAGE_VERSION?=latest
|
||||||
FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_NAME}/${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_NAME}/${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
||||||
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
version: "3"
|
version: "3"
|
||||||
services:
|
services:
|
||||||
fetchmail:
|
postfixadmin-fetchmail:
|
||||||
container_name: fetchmail
|
container_name: postfixadmin-fetchmail
|
||||||
image: volkerraschek/fetchmail-docker:latest
|
image: docker.io/volkerraschek/postfixadmin-fetchmail:latest
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||||
- DATABASE_HOST=${DATABASE_HOST}
|
|
||||||
- DATABASE_NAME=${DATABASE_NAME}
|
|
||||||
- DATABASE_USER=${DATABASE_USER}
|
- DATABASE_USER=${DATABASE_USER}
|
||||||
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
||||||
|
- DATABASE_HOST=${DATABASE_HOST}
|
||||||
|
- DATABASE_PORT=${DATABASE_PORT}
|
||||||
|
- DATABASE_NAME=${DATABASE_NAME}
|
||||||
network_mode: host
|
network_mode: host
|
||||||
|
10
fetchmail.pl
10
fetchmail.pl
@ -35,7 +35,7 @@ openlog("fetchmail-all", "pid", "mail");
|
|||||||
|
|
||||||
sub log_and_die {
|
sub log_and_die {
|
||||||
my($message) = @_;
|
my($message) = @_;
|
||||||
syslog("err", $message);
|
printf "err: %s\n", $message;
|
||||||
die $message;
|
die $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ my (%config);
|
|||||||
map{
|
map{
|
||||||
my ($id,$mailbox,$src_server,$src_auth,$src_user,$src_password,$src_folder,$fetchall,$keep,$protocol,$mda,$extra_options,$usessl,$sslcertck,$sslcertpath,$sslfingerprint)=@$_;
|
my ($id,$mailbox,$src_server,$src_auth,$src_user,$src_password,$src_folder,$fetchall,$keep,$protocol,$mda,$extra_options,$usessl,$sslcertck,$sslcertpath,$sslfingerprint)=@$_;
|
||||||
|
|
||||||
syslog("info","fetch ${src_user}@${src_server} for ${mailbox}");
|
printf "info: fetch %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox};
|
||||||
|
|
||||||
$cmd="user '${src_user}' there with password '".decode_base64($src_password)."'";
|
$cmd="user '${src_user}' there with password '".decode_base64($src_password)."'";
|
||||||
$cmd.=" folder '${src_folder}'" if ($src_folder);
|
$cmd.=" folder '${src_folder}'" if ($src_folder);
|
||||||
@ -112,7 +112,8 @@ set postmaster "postmaster"
|
|||||||
set nobouncemail
|
set nobouncemail
|
||||||
set no spambounce
|
set no spambounce
|
||||||
set properties ""
|
set properties ""
|
||||||
set syslog
|
set no syslog
|
||||||
|
set logfile /dev/stdout
|
||||||
|
|
||||||
poll ${src_server} with proto ${protocol}
|
poll ${src_server} with proto ${protocol}
|
||||||
$cmd
|
$cmd
|
||||||
@ -129,6 +130,9 @@ TXT
|
|||||||
|
|
||||||
$sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id;
|
$sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id;
|
||||||
$dbh->do($sql);
|
$dbh->do($sql);
|
||||||
|
|
||||||
|
printf "info: fetched mails of %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox};
|
||||||
|
|
||||||
}@{$dbh->selectall_arrayref($sql)};
|
}@{$dbh->selectall_arrayref($sql)};
|
||||||
|
|
||||||
$lockmgr->unlock($lock_file);
|
$lockmgr->unlock($lock_file);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user