Hacker News new | ask | show | jobs
by mmh0000 10 days ago
I use this in all the various little bash scripts I have running via timers. I love curl.

  local email_body=$(cat <<- PANCAKE
 From: ${SMTP_FROM}
 To: ${SMTP_TO}
 Subject: BACKUP SCRIPT FAILED

 $0 backup script failed on ${HOSTNAME}
 Exit code: ${exit_code}
 Failed at line: ${line_number}

 $(journalctl -o cat --user _SYSTEMD_INVOCATION_ID=${invocation_id} || true)
 PANCAKE
  )
  ## TODO: see above

  # Send email via authenticated SMTP using curl
  echo "${email_body}" | curl -s --url "${SMTP_URL}" \
    --ssl-reqd \
    --mail-from "${SMTP_FROM}" \
    --mail-rcpt "${SMTP_TO}" \
    --user "${SMTP_USERNAME}:${SMTP_PASSWORD}" \
    --upload-file -
  }