|
|
@@ -227,6 +227,7 @@ view_email() {
|
|
|
FROM=$(printf %s "$DATA" | jq -r ".from")
|
|
|
SUBJECT=$(printf %s "$DATA" | jq -r ".subject")
|
|
|
HTML_BODY=$(printf %s "$DATA" | jq -r ".htmlBody")
|
|
|
+ ATTACHMENTS=$(printf %s "$DATA" | jq -r ".attachments | length")
|
|
|
|
|
|
# If you get an email that is in pure text, the .htmlBody field will be empty and
|
|
|
# we will need to get the content from .textBody instead
|
|
|
@@ -240,8 +241,19 @@ view_email() {
|
|
|
<b>From: </b>$FROM
|
|
|
<b>Subject: </b>$SUBJECT</pre>
|
|
|
$HTML_BODY
|
|
|
+
|
|
|
EOF
|
|
|
)
|
|
|
+ # Add this logic to preven
|
|
|
+ if [[ ! $ATTACHMENTS = "0" ]] && [[ ! $ATTACHMENTS = 0 ]]
|
|
|
+ then
|
|
|
+ HTML_MAIL+="<hr><br>Attachments<br>"
|
|
|
+ for (( index=0; index < $ATTACHMENTS; index++ )); do
|
|
|
+ FILENAME=$(printf %s "$DATA" | jq -r '.attachments | .['$index'] | .filename')
|
|
|
+ LINK="<a href=${TMPMAIL_API_URL}?action=download&login=$USERNAME&domain=$DOMAIN&id=$EMAIL_ID&file=$FILENAME download>$FILENAME</a><br>"
|
|
|
+ HTML_MAIL+="$LINK"
|
|
|
+ done
|
|
|
+ fi
|
|
|
# Save the $HTML_MAIL into $TMPMAIL_HTML_EMAIL
|
|
|
printf %s "$HTML_MAIL" >"$TMPMAIL_HTML_EMAIL"
|
|
|
|
|
|
@@ -254,15 +266,19 @@ EOF
|
|
|
$BROWSER "$TMPMAIL_HTML_EMAIL"
|
|
|
}
|
|
|
|
|
|
-download_attachment () {
|
|
|
+list_attachments () {
|
|
|
EMAIL_ID="$1"
|
|
|
- FILE="$2"
|
|
|
- DATA=$(curl -sL "${TMPMAIL_API_URL}?action=download&login=$USERNAME&domain=$DOMAIN&id=$EMAIL_ID&file=$FILE")
|
|
|
- if [ "$DATA" = "" ]
|
|
|
- then
|
|
|
- print_error "Attachment or email id does not exist."
|
|
|
+ DATA=$(curl -sL "${TMPMAIL_API_URL}?action=readMessage&login=$USERNAME&domain=$DOMAIN&id=$EMAIL_ID")
|
|
|
+ if [[ $DATA == "Message not found" ]]; then
|
|
|
+ print_error "Message not found"
|
|
|
fi
|
|
|
- printf %s "$DATA" > "$FILE"
|
|
|
+ ATTACHMENTSLEN=$(printf %s "$DATA" | jq -r ".attachments | length")
|
|
|
+ echo "[ Attachments in $EMAIL_ID ]\n"
|
|
|
+ for (( index=0; index < $ATTACHMENTSLEN; index++ )); do
|
|
|
+ FILENAME=$(printf %s "$DATA" | jq -r '.attachments | .['$index'] | .filename')
|
|
|
+ DOWNLOADURL="${TMPMAIL_API_URL}?action=readMessage&login=$USERNAME&domain=$DOMAIN&id=$EMAIL_ID&file=$FILENAME"
|
|
|
+ echo $DOWNLOADURL
|
|
|
+ done
|
|
|
}
|
|
|
|
|
|
view_recent_email() {
|
|
|
@@ -320,7 +336,7 @@ main() {
|
|
|
--browser | -b) BROWSER="$2" ;;
|
|
|
--text | -t) RAW_TEXT=true ;;
|
|
|
--version) echo "$VERSION" && exit ;;
|
|
|
- --download | -d) download_attachment "$2" "$3" && exit ;;
|
|
|
+ --attachments | -a) list_attachments "$2" && exit ;;
|
|
|
--recent | -r) view_recent_email && exit ;;
|
|
|
*[0-9]*)
|
|
|
# If the user provides number as an argument,
|