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