1
0
Fork 0

Add terminal function to send email

main
Ethan Reece 2024-08-12 16:58:44 -05:00
parent cf0e371b5f
commit c29a2ec808
Signed by: me
GPG Key ID: 198E9EB433DB1B28
1 changed files with 48 additions and 0 deletions

View File

@ -53,4 +53,52 @@ function hotspot
sudo sysctl net.ipv4.ip_default_ttl=65
end
function send-email
set -l from "guix-home@ethanreece.com"
set -l to ""
set -l subject ""
# Parse the arguments
for arg in $argv
switch $arg
case '--from=*'
set from (string split '=' -- $arg)[2]
case '--to=*'
set to (string split '=' -- $arg)[2]
case '--subject=*'
set subject (string split '=' -- $arg)[2]
end
end
set temp_file (mktemp)
# Add required headers to the temporary file
echo "To: $to" >>$temp_file
echo "From: $from" >>$temp_file
echo "Subject: $subject" >>$temp_file
echo "" >>$temp_file # Add a blank line to separate headers from the body
# Open the temporary file with $EDITOR
$EDITOR $temp_file
# Extract the recipient from the file if not provided as an argument
if test -z "$to"
set to (grep -m 1 '^To: ' $temp_file | sed 's/^To: //')
end
echo "Do you want to send the email? (y/n)"
read -l response
if test "$response" = y
# Send the email using msmtp
msmtp $to <$temp_file
echo "Email sent."
else
echo "Email not sent."
end
# Delete the temporary file
rm $temp_file
end
fish_add_path -g