There is a bug but I am unable to pin-point where. All I could narrow it down to is that smtpmail open-network-stream hangs when it is invoked from within accept-process-output with timeout of 1 secs of url-retrieve.

I found a workaround for my needs by using smtpmail-queue-mail.

On Wed, 21 Jul 2021 at 11:32 pm +0200, Lars Ingebrigtsen wrote:

Eli Zaretskii <eliz@gnu.org> writes:

>> (let () (run-with-timer 0 nil #'url-retrieve "https://www.gnu.org/" >> #'ignore) (diary-mail-entries)) > > Don't do that, because it will hurt. Mixing timers with subprocesses > is asking for trouble.

That's not my experience, really – url-queue.el is based around firing off `url-retrieve' from timers, and I've never seen any problems.