Não use email, que deve ser um programa de usuário final orientado a linha. Use o comando "sendmail" (mas não use aquele pedaço amaldiçoado de shblip que é o programa sendmail) incluído na maioria dos MTAs. Ele é destinado a ser usado de forma programática. Eu sei que o postfix e o qmail, por exemplo, o incluem.
cat mailmessage.txt | sendmail -ffrom@yourhost recipient@theirhost
Adendo: não é necessariamente "perigoso" chamar um programa de um CGI, contanto que você saiba o que está fazendo. Em particular, assim como neste caso, certifique-se de que o programa que você está chamando não seja destinado a usuários finais ou não seja chamado no modo interativo (a maioria desses programas permitirá a criação de um shell!)