One option is to have the script run constantly in an infinite loop with a delay and use "cat file | wc -l" to count the number of lines. Each time it runs, it compares the number of lines in the file to the previous number of lines, then passes the result to tail to only send the updates, IE:
while [[ 1 ]]; do
nlines_new=$(cat file | wc -l)
if [[ $nlines_new -gt $nlines_old ]]; then
nlines=$(expr $nlines_new - $nlines_old)
updates=$(tail -n $nlines)
# Mail $updates
It's not perfect though because any delay between the cat | wc -l and the tail will cause it to skip lines. I guess it just depends on how quickly this file is being updated.