Suponho que você tenha armazenado as novas linhas como seqüências de escape no banco de dados, o que significa a string " \n
" em vez do caractere real da nova linha. A consulta sqlite retornará exatamente isso, e o Exim ficará feliz em colocar a string como está na mensagem de resposta automática. A razão é que a pesquisa já é uma expansão de string; você poderia usá-lo como parte de outra string, em cujo caso o Exim o substituiria pelo que estiver no banco de dados. O Exim não expandirá pela segunda vez.
Para que o Exim expanda os literais de caracteres no resultado da pesquisa, você precisa dizer para fazer isso explicitamente, cercando toda a pesquisa com um operador expand
, assim:
text = ${expand:${lookup sqlite{SQLDB \
SELECT body FROM autoreply WHERE \
...
}}}
O Exim, então, pegará a string retornada pela pesquisa e executará a expansão nela. Para detalhes, consulte a especificação do Exim , Capítulo 11 , Seção 6 , com relação ao operador de expansão e Capítulo 9 sobre pesquisas de arquivos e bancos de dados.