Não há como capturar retroativamente a saída de erro, porque no momento em que o comando retorna com um status de saída diferente de zero, a saída já foi concluída. No entanto, você pode redirecionar toda a saída stderr do seu script desde o início para um arquivo, emitindo o comando
exec 2>/some/file
no início do seu script. Esta forma de exec
sem comandos aplica os redirecionamentos ao processo de shell atual. Você pode enviar esse arquivo em caso de erro.
Uma vantagem adicional desse método é que, se o envio do email falhar por algum motivo, você ainda terá o arquivo em volta para examinar localmente (bem, a menos que o motivo seja uma falha desse disco, é claro).