Your IP : 3.141.44.52


Current Path : /usr/local/mgr5/sbin/
Upload File :
Current File : //usr/local/mgr5/sbin/dovecot_import.sh

#!/bin/bash
ATTEMPTS=3
while ! doveadm user ${3} >/dev/null 2>&1 && [ $ATTEMPTS -gt 0 ]
do
        sleep 1
        ATTEMPTS=$((ATTEMPTS-1))
done
TMPCONF=$(mktemp -p /etc/dovecot)
trap 'rm -f -- "$TMPCONF"' EXIT
cp /etc/dovecot/dovecot.conf ${TMPCONF}
cat << EOF >> ${TMPCONF}
imapc_host="${5}"
imapc_user="${6}"
imapc_password="${PASSWD}"
imapc_sasl_mechanisms="${7}"
imapc_features=rfc822.size fetch-headers
imapc_ssl=imaps
imapc_port=993
imapc_ssl_verify=no
mail_fsync=never
mail_prefetch_count=5
EOF
/usr/local/mgr5/sbin/mgrctl -m ${1} -e 'token=$TOKEN' email.import.setstatus user="${2}" email="${3}" conf=${TMPCONF} status="run_${8}" >/dev/null 2>&1 || :
rm -rf ${4}
IMPORT_LOG=$(doveadm -D -c ${TMPCONF} backup -R -u ${3} imapc: 2>&1)
EXIT_CODE=$?
echo "${IMPORT_LOG}"
if [ ${EXIT_CODE} -eq 0 ]
then
        /usr/local/mgr5/sbin/mgrctl -m ${1} email.import.setstatus user="${2}" email="${3}" status="ok_${8}" >/dev/null 2>&1 || :
else
        ERRMSG=$(echo "${IMPORT_LOG}" | grep 'Error:')
        /usr/local/mgr5/sbin/mgrctl -m ${1} email.import.setstatus user="${2}" email="${3}" status="err_${8}" errmsg="${ERRMSG}" >/dev/null 2>&1 || :
        exit 1
fi