40 lines
1.1 KiB
Bash
Executable File
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
|