#!/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