Estou recebendo o NUL character(s) present
erro exim
semelhante a este post , mas como esse post é muito antigo, estou seguindo a sugestão de Charles Davis para criar uma nova pergunta.
$ tail -f /var/log/exim4/mainlog
2024-07-12 22:43:38 SMTP syntax error in "\026\003\001\002?\001?\001\374\003\003"\365\bZ\327b\277\373\261\032\246\217\275R\314b\201b\351\253k\304\001\3343/256/243/005/215U/301/207/311/227N/306e2+/216/226/307/361?0/023/002/023/003/023/001/300+/300/?/236/314/251/314/250/300" H=localhost [::1] NUL character(s) present (shown as '?')'>\\213fn\263N\303\244 \256'z\226o\305eE\231.:\234>3\256\243\005\215U\301\207\311\227N\306e2+\216\226\307\361?0\023\002\023\003\023\001\300+\300/?\236\314\251\314\250\300" H=localhost [::1] NUL character(s) present (shown as '?')
2024-07-12 22:43:38 SMTP syntax error in "\300\024?9\300 \300\023?3?\234?5?/\3000\300,?=?j?8?2?\377\001?\001\203???\016?\f?? localhost?\v?\004\003?\001\002?" H=localhost [::1] NUL character(s) present (shown as '?')
2024-07-12 22:43:38 SMTP syntax error in "?\f?" H=localhost [::1] NUL character(s) present (shown as '?')
2024-07-12 22:43:38 SMTP syntax error in "?\035?\027?\036?\031?\030?#???\005?\005\001?????\026???\027???\r?*?(\004\003\005\003\006\003\b\007\b\b\b \b" H=localhost [::1] NUL character(s) present (shown as '?')
2024-07-12 22:43:38 SMTP call from localhost [::1] dropped: too many syntax or protocol errors (last command was "?\035?\027?\036?\031?\030?#???\005?\005\001?????\026???\027???\r?*?(\004\003\005\003\006\003\b\007\b\b\b \b", NULL)
Exim: 4.94.2-7+deb11u3. version 4.94.2 #2 built 09-Jul-2024 09:01:33
Distro: Debian GNU/Linux 11 (bullseye)
Kernel: 5.15.83-1-pve
No terminal isso funciona bem
echo 'hi!' | mail -s "Sent from $(hostname) at $(date +"%F %T")" [email protected]
O problema surge ao enviar e-mails de um aplicativo web instalado no host ( Koha ).
Como posso depurar o problema para descobrir se o aplicativo da web está enviando strings inválidas?
O problema estava na configuração do aplicativo da web. Ele estava tentando se conectar
exim
usando SSL.Contexto: eu estava confiante de que não era um problema de codificação e não conseguia converter esses caracteres em nada além de algo sem sentido, então, em um momento de e se... desabilitei o SSL e isso funcionou.
Esses primeiros bytes são a mensagem TLS 'client hello', o primeiro do handshake . Outro exemplo aqui .
\026
(0x16
em hexadecimal) indica uma mensagem de handshake, o início de uma saudação do cliente TLS.\003\001
(0x0301
em hexadecimal) indica a versão 1.0 mais antiga. O padrão atual é TLS 1.2 ou TLS 1.3.