1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-13 19:11:51 +00:00
openmptcprouter-feeds/luci-app-mail/root/etc/init.d/msmtp
2018-11-15 19:41:22 +01:00

64 lines
No EOL
1.2 KiB
Bash
Executable file

#!/bin/sh /etc/rc.common
# Copyright (C) 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
START=90
STOP=10
USE_PROCD=1
validate_section() {
uci_validate_section mail smtp "${1}" \
'server:host' \
'tls:bool:0' \
'tls_starttls:bool:0' \
'from:string' \
'user:string' \
'password:string' \
'port:port:25'
}
config_account() {
local server tls tls_starttls from user password
validate_section "${1}" || {
_err "validation failed"
return 1
}
cat > /tmp/msmtp.tmp <<-EOF
account default
host $server
port $port
EOF
[ -n "$user" ] && [ -n "$password" ] && {
cat >> /tmp/msmtp.tmp <<-EOF
auth on
user $user
password $password
EOF
}
[ -n "$from" ] && echo "from $from" >> /tmp/msmtp.tmp
[ "$tls" = "1" ] && {
cat >> /tmp/msmtp.tmp <<-EOF
tls_trust_file /etc/ssl/certs/ca-certificates.crt
tls on
EOF
} || {
echo 'tls off' >> /tmp/msmtp.tmp
}
[ "$tls_starttls" = "1" ] && {
echo 'tls_starttls on' >> /tmp/msmtp.tmp
} || {
echo 'tls_starttls off' >> /tmp/msmtp.tmp
}
}
start_service() {
config_load mail
config_foreach config_account smtp
[ -f "/tmp/msmtp.tmp" ] && mv /tmp/msmtp.tmp /etc/msmtprc
}
service_triggers() {
procd_add_reload_trigger mail
}