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-03-31 18:55:38 +02:00
############################################## SEARCH in players
$( $MY_PATH /../tools/search_for_this_email_in_players.sh ${ mail } )
2024-03-31 19:43:49 +02:00
echo " ASTROPORT= $ASTROPORT
ASTROTW = $ASTRONAUTENS
ASTROG1 = $ASTROG1
ASTROMAIL = $EMAIL
ASTROFEED = $FEEDNS
TW = $TW
source = $source "
2024-01-16 15:34:51 +01:00
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-03-31 03:44:13 +02:00
SUBJECT = " [UPlanet] ${ title } "
2023-12-18 15:32:45 +01:00
2024-04-06 16:14:19 +02:00
MESSAGESIGN = " ---<br>this message is sent by <a href=' $( myIpfsGw) /ipns/ $IPFSNODEID '> $( myHostName) </a> your Astroport ♥BOX Zen 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
2024-04-23 01:42:18 +02:00
################### IMPORT MAILJET INTO IF $4=TW
2024-03-31 19:43:49 +02:00
INDEX = " $4 "
if [ [ -s ${ INDEX } ] ] ; then
echo "INSERT ZINE INTO TW"
MOATS = $( date -u +"%Y%m%d%H%M%S%4N" )
mkdir -p ~/.zen/tmp/${ MOATS }
cat ${ MY_PATH } /../templates/data/IFRAME.json \
| sed -e " s~_MOATS_~ ${ MOATS } ~g " \
2024-04-23 01:42:18 +02:00
-e " s~_TITLE_~/MAILJET/ ${ SUBJECT ^^ } ~g " \
2024-03-31 19:43:49 +02:00
-e " s~_CID_~ ${ EMAILZ } ~g " \
-e " s~_PLAYER_~ ${ mail } ~g " \
> ~/.zen/tmp/iframe.json
### IMPORT INTO TW
tiddlywiki --load ${ INDEX } \
--import ~/.zen/tmp/iframe.json "application/json" \
--output ~/.zen/tmp/${ MOATS } --render " $:/core/save/all " "newindex.html" "text/plain"
if [ [ -s ~/.zen/tmp/${ MOATS } /newindex.html ] ] ; then
[ [ $( diff ~/.zen/tmp/${ MOATS } /newindex.html ${ INDEX } ) ] ] \
&& mv ~/.zen/tmp/${ MOATS } /newindex.html ${ INDEX } \
&& echo " ===> Mise à jour ${ INDEX } "
else
echo " Problem with tiddlywiki command. Missing ~/.zen/tmp/ ${ MOATS } /newindex.html "
echo "XXXXXXXXXXXXXXXXXXXXXXX"
fi
fi
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"
2024-03-31 19:43:49 +02:00
############# GETTING MAILJET API ############### from ~/.zen/MJ_APIKEY
[ [ ! -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 }
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-31 03:44:13 +02: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 />' ${ pseudo } ', 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}'"}]
#~ }'