first commit

This commit is contained in:
Iris Lightshard 2021-08-23 10:00:04 -06:00
commit 4e92ed396d
Signed by: Iris Lightshard
GPG key ID: 3B7FBC22144E6398
2 changed files with 58 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.config

57
mail2mms.sh Executable file
View file

@ -0,0 +1,57 @@
#!/bin/sh
# Send an MMS message to your phone when new emails come in.
# The message header will have the number of new mails in the subject,
# the From and Subject fields of up to the most recent 3 new mails,
# and 'and more...' if there are more than three new mails
# Assumes you have a maildir inbox on this machine;
# you can use offlineimap or similar to sync recent mail to a maildir
# import the config file ./.config
# addr=<the address the notification will appear to be sent from>
# phone=<your phone number in email address form (eg, 9876543210@mms.att.net)>
# inbox=<the location of the maildir folder corresponding to the inbox>
# smtp_server=<the address and port (address:port) of your smtp server>
# smtp_user=<the username you use on your smtp server>
# smtp_password<the password to login to the smtp server>
. ./.config
if ! pgrep offlineimap; then
offlineimap &
fi
oldnew=0
summary() {
i=0
for m in $(ls -1r ${inbox}/new/*); do
i=$((i + 1))
if [ ${i} -gt 3 ]; then
echo "and more..."
break
fi
subject=$(grep ^Subject: ${m} | head -n 1)
from=$(grep ^From: ${m} | head -n 1)
echo ${from}
echo ${subject}
echo
done
}
while true; do
newnew=$(ls -1 ${inbox}/new | wc -l)
if [ ${newnew} -gt ${oldnew} ]; then
echo "$(summary)" \
| mail -r nilix@nilfm.cc \
-s "new mail [${newnew}]" \
-S smtp=${smtp_server} \
-S smtp-use-starttls \
-S smtp-auth=login \
-S smtp-auth-user=${smtp_user} \
-S smtp-auth-password=${smtp_password} \
${phone}
fi
oldnew=${newnew}
sleep 2m
done