Похоже, нашёл проблему в почтовой библиотеке PureBasic.
Судя по всему, CreateMail() не кодирует не-ASCII заголовки письма по RFC 2047. Из-за этого некоторые более строгие почтовики могут просто ломать поля From и Subject, если там есть кириллица.
Например, у меня Yandex при примерно таком отправителе:
FromWhom.s="программа PTAFL <noreplay@<example.com>"
Subject.s="Заказ 123"
показывает EMPTY-FROM с отсутствующей темой. Причина- в кириллице.
Если все заменить на латиницу- тогда у яндекса всё проходит. Как и в письме- в латинице.
Кому не трудно, можете проверить у себя. Нужно только подставить свои SMTP-сервер, логин, пароль и адрес получателя:
FromWhom.s="Программа <yourmail@example.com>" Subject.s="Заказ 123" Body.s="Тестовое письмо" Mail=CreateMail(#PB_Any, FromWhom, Subject) If Mail AddMailRecipient(Mail, "recipient@yandex.ru", #PB_Mail_To) SetMailBody(Mail, Body) SendMail(Mail, "smtp.example.com", 587, "yourlogin", "yourpassword", #PB_Mail_UseSSL) ;SMTP-порт укажите свой, 587 здесь только пример FreeMail(Mail) EndIf