try ssl-encrypted mails

This commit is contained in:
2015-07-10 12:41:32 +03:00
parent 2bed39ce59
commit 77bac71bf4

View File

@@ -37,6 +37,10 @@ SYSUSER=$(whoami)
NOTES="$HOME/$SYSUSER-Notes.txt"
NOTESTMP=.Notes.txt.tmp
MAILTYPE=mailsendenc # Use mailsend for plaintext, mailsendenc for SSL-encrypted details
SSLKEY=ssl.key # Only needed when using mailsendenc
MAILTMP=.mail.txt.tmp
## FUNCTIONS
function checkaction {
REGEX="^adduser$|^changepw$|^listusers$|^userdetail$|^deluser$|^sizeall$|^sizeuser$|^viewdata$"
@@ -80,7 +84,6 @@ function mailsend {
SUBJECT="[$DOMAIN] $1";
MSGBODY1="$2"
MSGBODY2="$3"
TMP=`mktemp`
printf '%s\n' "From: $FREMAIL
To: $TOEMAIL
@@ -90,9 +93,56 @@ Subject: $SUBJECT
$MSGBODY1
$MSGBODY2
" > $TMP
cat $TMP | "$SENDMAILPATH" -t;
rm $TMP;
" > $MAILTMP
cat $MAILTMP | "$SENDMAILPATH" -t;
rm $MAILTMP;
}
function mailsendenc {
if [ ! -e $SSLKEY ]; then
#echo "Encryption key \"$SSLKEY\" is not available. Aborting."
#exit 1
openssl genrsa -out $SSLKEY 2048
fi
TOEMAIL="$TOEMAIL";
FREMAIL="$FREMAIL";
SUBJECT="[$DOMAIN] $1";
MSGBODY1="$2"
MSGBODY2=$(echo $3 | openssl rsautl -inkey $SSLKEY -encrypt > $MAILTMP.crypt)
BOUNDARY="ZZafgwejwepfgkl.9453x1q"
ATTACHMENT=$(base64 $MAILTMP.crypt)
printf '%s\n' "From: $FREMAIL
To: $TOEMAIL
Reply-To: $FREMAIL
Subject: $SUBJECT
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=\"$BOUNDARY\"
--${BOUNDARY}
Content-Type: text/plain; charset=\"us-ascii\"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
$MSGBODY1
$MSGBODY2
--${BOUNDARY}
Content-Type: text/plain
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"message.txt.crypt\"
$ATTACHMENT
--${BOUNDARY}
" > $MAILTMP
cat $MAILTMP | "$SENDMAILPATH" -t;
rm $MAILTMP;
}
## FIRST CHECKS