Add terminal function to send email
parent
cf0e371b5f
commit
c29a2ec808
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue