O seguinte é um conselho que levou à questão do momento. O conselho foi desenterrado por Uday Reddy e pode ser encontrado no link . Data de 8/7/2006.
The problem boils down to the fact that the command (signal-process (process-id process) 'SIGALRM) does not work with Win32 Emacs, even with Cygwin also installed. But one can mimic that with: (call-process "c:\cygwin\bin\kill.exe" nil nil nil "-ALRM" (format "%d" (process-id process)))
De acordo com a documentação do gnutsl-cli (por exemplo, link ):
starttls option (-s)
This is the "connect, establish a plain session and start tls." option. The TLS session will be initiated when EOF or a SIGALRM is received.
Bug # 7789, discutido no newsgroup gnu.emacs.bug, relata essa deficiência de sinalização no MS Windows (também conhecido como Woe32).
Também segui o conselho para fazer essa alteração (na função "starttls-negotiate-gnutls" no arquivo "starttls.el"), mas ainda não consegui enviar um email de teste pelo servidor smtp.gmail.com:587 .
Eu determinei que uma correção é alterar a linha na função "smtpmail-via-smtp" no arquivo "smtpmail.el" que diz:
(setq process (smtpmail-open-stream process-buffer host port))
para
(let ((coding-system-for-read 'raw-text-unix))
(setq process (smtpmail-open-stream process-buffer host port)))
Isso garante que nenhuma conversão de codificação ocorra quando a resposta do servidor é inserida no "buffer de processo". Em particular, garante que o par de caracteres CRLF no final da saudação 220 do servidor não seja alterado.
Com essa alteração adicional, consegui enviar um email de teste por meio de smtp.gmail.com:587.
As informações da versão do meu Emacs são "GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) de 2011-03-10 no 3249CTO".
Mais tarde, descobri que minha correção é abordada na discussão no link . O título geral dessa discussão é "Alterando o padrão para 'send-mail-function'" (começou em 26/06/11). As mudanças discutidas lá - que fazem a correção - chegaram ao Emacs 24, mas não estão presentes no Emacs 23.3 ou 23.4.