2022-10-28 13:14:02 +02:00
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
# Version: 2022.10.28
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
2023-12-17 17:32:13 +01:00
2022-10-28 13:14:02 +02:00
########################################################################
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
2022-12-29 14:51:05 +01:00
. " $MY_PATH /my.sh "
2022-10-28 13:14:02 +02:00
ME = " ${ 0 ##*/ } "
2022-11-19 20:34:28 +01:00
2024-02-23 23:49:21 +01:00
## LOG OUTPUT
exec 2>& 1 >> ~/.zen/tmp/mailjet.log
2022-10-28 13:14:02 +02:00
echo '
########################################################################
# \\///
# qo-op
############# '$MY_PATH/$ME'
########################################################################'
2024-01-16 15:34:51 +01:00
[ [ ! $1 ] ] \
&& echo "MISSING DESTINATION EMAIL" \
&& exit 1
2022-11-03 23:44:56 +01:00
mail = " $1 " # EMAIL DESTINATAIRE
2024-01-16 15:34:51 +01:00
2024-02-05 07:21:42 +01:00
############# GETTING MAILJET API ############### from ~/.zen/MJ_APIKEY
2024-01-16 15:34:51 +01:00
[ [ ! -s ~/.zen/MJ_APIKEY ] ] \
&& echo " MISSING ~/.zen/MJ_APIKEY
PLEASE PROVIDE MAILJET KEY : MJ_APIKEY_PUBLIC = & MJ_APIKEY_PRIVATE" \
&& exit 1
## LOAD SENDER API KEYS
###################################
######### ~/.zen/MJ_APIKEY contains
# export MJ_APIKEY_PUBLIC='publickey'
# export MJ_APIKEY_PRIVATE='privatekey'
# export SENDER_EMAIL='me@source.tld'
###################################
source ~/.zen/MJ_APIKEY
export RECIPIENT_EMAIL = ${ mail }
2022-12-08 20:31:04 +01:00
2024-01-13 11:59:37 +01:00
#~ echo "DEST=$mail"
2024-01-03 20:39:39 +01:00
# mail=geg-la_debrouille@super.chez-moi.com
YUSER = $( echo ${ mail } | cut -d '@' -f1) # YUSER=geg-la_debrouille
LYUSER = ( $( echo " $YUSER " | sed 's/[^a-zA-Z0-9]/\ /g' ) ) # LYUSER=(geg la debrouille)
CLYUSER = $( printf '%s\n' " ${ LYUSER [@] } " | tac | tr '\n' '.' ) # CLYUSER=debrouille.la.geg.
YOMAIN = $( echo ${ mail } | cut -d '@' -f 2) # YOMAIN=super.chez-moi.com
2024-02-06 12:45:46 +01:00
pseudo = " ${ CLYUSER } ${ YOMAIN } . ${ myDOMAIN } "
2024-01-13 11:59:37 +01:00
#~ echo "PSEUDO=$pseudo"
2023-12-31 12:35:34 +01:00
2023-12-31 13:39:42 +01:00
messfile = " $2 " # FICHIER A AJOUTER AU CORPS MESSAGEUP
2022-11-03 23:44:56 +01:00
2024-01-12 16:40:39 +01:00
## add a tittle in message
title = " $3 "
2024-02-03 16:42:59 +01:00
SUBJECT = " [UPlanet] ${ title } ${ pseudo } "
2023-12-18 15:32:45 +01:00
2024-03-30 13:06:56 +01:00
MESSAGESIGN = " ---<br>this message is sent by <a href=' $( myIpfsGw) /ipns/ $IPFSNODEID '> $( myHostName) </a> your Astroport ♥BOX ♥ Station "
2022-12-08 21:13:15 +01:00
echo "
2022-12-08 20:31:04 +01:00
########################################################################
2022-12-12 22:17:55 +01:00
# $SUBJECT + $messfile -> $mail
2022-12-08 21:13:15 +01:00
########################################################################"
2022-11-03 02:45:35 +01:00
2023-12-31 12:35:34 +01:00
# + HTML in FILE
2024-01-04 19:02:24 +01:00
rm -f ~/.zen/tmp/email.txt
2024-01-16 15:02:26 +01:00
[ [ -s $messfile ] ] \
&& cat $messfile >> ~/.zen/tmp/email.txt \
|| echo " $messfile " >> ~/.zen/tmp/email.txt
2022-11-03 23:48:36 +01:00
2023-12-18 15:32:45 +01:00
EMAILZ = $( ipfs add -q ~/.zen/tmp/email.txt)
echo " /ipfs/ ${ EMAILZ } "
2024-03-25 01:27:54 +01:00
ipfs pin rm ${ EMAILZ }
2023-12-18 15:32:45 +01:00
2023-12-31 13:39:42 +01:00
export TEXTPART = " $( myIpfsGw) /ipfs/ ${ EMAILZ } "
2023-12-18 15:32:45 +01:00
2024-01-12 21:04:18 +01:00
[ [ $title = = "" ] ] && title = "MESSAGE"
2023-12-18 15:32:45 +01:00
json_payload = ' {
"Messages" : [
{
"From" : {
"Email" : " ' ${ SENDER_EMAIL } ' " ,
2024-02-06 12:45:46 +01:00
"Name" : "UPlanet Keeper"
2023-12-18 15:32:45 +01:00
} ,
"To" : [
{
"Email" : " ' ${ RECIPIENT_EMAIL } ' " ,
2023-12-31 19:22:16 +01:00
"Name" : " ' ${ pseudo } ' Astronaut "
2023-12-18 15:32:45 +01:00
}
] ,
2023-12-26 17:53:33 +01:00
"Bcc" : [
{
2024-02-06 12:45:46 +01:00
"Email" : " ' ${ SENDER_EMAIL } ' " ,
2023-12-26 17:53:33 +01:00
"Name" : "SUPPORT"
}
] ,
2023-12-18 15:32:45 +01:00
"Subject" : " ' ${ SUBJECT } ' " ,
2023-12-30 20:16:39 +01:00
"TextPart" : " ' $( myIpfsGw) /ipfs/ ${ EMAILZ } ' " ,
2024-03-17 18:08:41 +01:00
"HTMLPart" : " <h1>Bro</h1><h3>You have a <br><a href=\"' $( myIpfsGw) '/ipfs/' ${ EMAILZ } '\">' ${ title } '</a>!</h3> on <a href=\"https://qo-op.com\">UPlanet</a><br />May the good vibes be with you!<br>' ${ MESSAGESIGN } '<br>/ipfs/' ${ EMAILZ } ' "
2023-12-18 15:32:45 +01:00
}
]
} '
2024-01-13 11:59:37 +01:00
echo " $json_payload "
2023-12-18 15:32:45 +01:00
# Verify the JSON structure with jq
echo " $json_payload " | jq .
2023-12-17 17:32:13 +01:00
# Run:
2023-12-18 15:32:45 +01:00
# POSSIBLE ! "HTMLPart": "<h3>You have a message <br><a href=\"https://qo-op.com/\">UPlanet</a>!</h3><br />May the good vibes be with you!"
2023-12-17 17:32:13 +01:00
curl -s \
-X POST \
2023-12-18 15:32:45 +01:00
--user " ${ MJ_APIKEY_PUBLIC } : ${ MJ_APIKEY_PRIVATE } " \
2023-12-17 17:32:13 +01:00
https://api.mailjet.com/v3.1/send \
-H 'Content-Type: application/json' \
2023-12-18 15:32:45 +01:00
-d " $json_payload "
2022-11-03 02:45:35 +01:00
2024-03-25 01:27:54 +01:00
2023-12-18 15:32:45 +01:00
# This call sends an email to one recipient.
2024-01-02 00:16:48 +01:00
#~ TEXTPART=$(cat ~/.zen/tmp/email.txt | sed ':a;N;$!ba;s/\n/\\n/g' | tr '"' '\\\"')
#~ HTMLPART=$(cat ~/.zen/tmp/email.txt | sed ':a;N;$!ba;s/\n/<br>/g' | tr '"' '\\\"')
2023-12-18 15:32:45 +01:00
#~ curl -s \
#~ -X POST \
#~ --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
#~ https://api.mailjet.com/v3/send \
#~ -H 'Content-Type: application/json' \
#~ -d '{
#~ "FromEmail":"'${SENDER_EMAIL}'",
#~ "FromName":"UPlanet Support Team",
#~ "Subject":"Message from Astroport",
#~ "Text-part":"'${TEXTPART}'",
#~ "Html-part":"'${HTMLPART}'",
#~ "Recipients":[{"Email":"'${RECIPIENT_EMAIL}'"}]
#~ }'