Você pode esperar que interaja com o serviço, por exemplo
#!/usr/bin/expect -f
set timeout 1
spawn telnet localhost 25
expect "220 *"
send -- "helo localhost\n"
expect -- "250*Hello\ localhost*"
send -- "mail from: root@localhost\n"
expect -- "250\ OK"
send -- "rcpt to: root@localhost\n"
expect -- "250\ Accepted"
send -- "data\n"
expect -- "354*"
send -- "functional test\n.\n"
expect -- "250\ OK*"
send -- "quit\n"
expect "221*closing\ connection"
ligue para o anterior como assim
/path/to/expect.script | grep -q "250 OK"
if [ $? = 0 ]
then
echo "Message queued successfully"
else
echo "Message Failed to queue"
Você pode então verificar se a mensagem foi entregue corretamente no mailpool ou Maildir ou o que quer que seja. Você pode alterar o host local para o host remoto de sua escolha, embora isso complique a verificação de entrega, mas você sempre pode usar esperar para efetuar login - é uma ferramenta muito poderosa.