mail-scripts

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

NewEmail.sh (1690B)


      1 #!/bin/sh
      2 
      3 set -a
      4 newemaillog="${XDG_CONFIG_HOME:-$HOME/.config}/elevate-mail/newuser.log"
      5 
      6 # Define create_username fn, concatenates first and last name strings, returns lowercase value
      7 create_username() {
      8 	local fname=$1
      9 	local lname=$2
     10 	echo "${fname}${lname}" | tr '[:upper:]' '[:lower:]'
     11 }
     12 
     13 # TODO CREATE VALUES FROM READ INPUT 
     14 
     15 if [[ "$(id -u)" -eq 0 ]]
     16 then
     17 	# portable read, read -p and echo -n fail depending on shell
     18  	#printf "%s" "Enter first name: "
     19 	#read ifname
     20 	#printf "%s" "Enter last name: "
     21 	#read ilname
     22 	# pass values to script.sh
     23 	ifname=$1
     24 	ilname=$2
     25 
     26 	# Prompt user for password
     27 	printf "%s" "Enter Password: "
     28 	read initpass
     29 	encpass="$(smtpctl encrypt ${initpass})"
     30 
     31 	# create email username from firstname and lastname
     32 	emailuser=$(create_username "$ifname" "$ilname")
     33 	newaddress="${emailuser}@elev8rehab.com"
     34 
     35 	CREDENTIALLINE="${newaddress}:${encpass}:vmail:2000:2000:/var/vmail/elev8rehab.com/${emailuser}::userdb_mail=maildir:/var/vmail/elev8rehab.com/${emailuser}"
     36 	# append credential to credential list
     37 	chmod u+w /etc/mail/credentials
     38 	echo "${CREDENTIALLINE}" >> /etc/mail/credentials
     39 	chmod 0440 /etc/mail/credentials
     40 
     41 	# create virtual mail account
     42 	echo "${newaddress}:vmail" >> /etc/mail/virtuals
     43 
     44 	# GENERAL FINAL NOTES
     45 	# CHECK IF CAN BE SECURE ECHOING PASS(Plaintext)
     46 	#$(mail -b specdir@elev8rehab.com -r "postmaster" -s "Created new Elevate Rehab email user" tech@elev8rehab.com)
     47 	echo "Created email: ${newaddress} with pw: ${initpass}"
     48 	echo "NOTE YOU MUST ADD USER TO GROUPS MANUALLY RIGHT NOW"
     49 	
     50 	echo "generated credential line: ${CREDENTIALLINE}"
     51 	echo "logging to: ${newemaillog}"
     52 else
     53 	echo "Script needs to be run as root"
     54 	exit 1
     55 fi