mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			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
 | |
| } |