Я пытаюсь отладить ошибку CDO.Message.1 «80040213». Транспортному транспорту не удалось подключиться к серверу.
Итак, я тестирую соединение с SMTP-сервером через telnet. После ввода ДАННЫХ я получаю такой ответ:
250 ok 1515609773 qp 24996
На другом SMTP-сервере я получаю что-то вроде (из памяти):
250 ok id=734E5544AB
Я ожидаю сообщения о том, что письмо поставлено в очередь или принято. Может, все SMTP-серверы делают это по-разному?
В любом случае самое главное - письма никогда не приходят. Это связано с сообщением об ошибке транспорта? CDO видит, что электронные письма на самом деле не отправляются?
Я запускаю telnet с виртуальной машины Azure под управлением Windows Server 2008 Datacenter SP1.
Хорошо, я разобрался. Стандартный способ тестирования SMTP-сервера через telnet, который я нашел в трех разных местах, НЕПРАВИЛЬНЫЙ!
Они не совместимы с RFC 5322, поскольку не устанавливают заголовок From. Без заголовка From многие почтовые серверы (например, Gmail) возвращают письмо обратно, поскольку оно подозревается в спаме. Чтобы "помочь" в вопросах, связанных с Gmail, вы скроете возврат в папку со спамом, чтобы вы никогда не поняли, что не так.
Вот правильный способ отправить электронное письмо через telnet
Проще говоря, вам нужно добавить from: name@yourdomain.com
в ДАННЫХ. Вы также можете добавить в: и тему :. Не знаю, нужны ли они или полезны, не проверял.