osticket-docker/docker-data/dms/config/scripts/pipe-to-osticket.sh

40 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# osTicket API configuration
OSTICKET_URL="${OSTICKET_URL:-http://172.20.0.10/api/tickets.email}"
API_KEY="${OSTICKET_API_KEY}"
# Log file in /tmp
LOG_FILE="/tmp/osticket-pipe.log"
# Read email from stdin and save to temp file
TEMP_EMAIL=$(mktemp)
cat > "$TEMP_EMAIL"
# Log the attempt
echo "[$(date)] ================================" >> "$LOG_FILE"
echo "[$(date)] Processing email for osTicket" >> "$LOG_FILE"
echo "[$(date)] Email size: $(wc -c < "$TEMP_EMAIL") bytes" >> "$LOG_FILE"
echo "[$(date)] API URL: ${OSTICKET_URL}" >> "$LOG_FILE"
# Show first few lines of email for debugging
echo "[$(date)] Email preview:" >> "$LOG_FILE"
head -20 "$TEMP_EMAIL" >> "$LOG_FILE"
echo "..." >> "$LOG_FILE"
# Send raw email data as POST body (not form data)
curl -v -X POST \
-H "X-API-Key: ${API_KEY}" \
-H "Content-Type: text/plain" \
--data-binary "@${TEMP_EMAIL}" \
"${OSTICKET_URL}" \
>> "$LOG_FILE" 2>&1
echo "[$(date)] cURL exit code: $?" >> "$LOG_FILE"
echo "[$(date)] ================================" >> "$LOG_FILE"
# Clean up
rm -f "$TEMP_EMAIL"
exit 0