Как отправить электронную почту с помощью SMTP Gmail и Indy 10?

Я использую Delphi 2009 и последнюю версию Indy 10 от svn для отправки электронной почты с использованием SMTP, но это не работает с Gmail (домен, размещенный на Google Apps). Когда я пытаюсь отправить электронное письмо, я получаю сообщение «Сначала необходимо выполнить команду STARTTLS».

Я попытался погуглить об этом и нашел несколько форумов и несколько решений, но все они просто испортили какой-то код или просто сказали, что мне нужна DLL OpenSLL, которая до сих пор не очень ясно для меня, что именно мне нужно.

Может ли кто-нибудь точно сказать, какая DLL мне нужна и что мне нужно изменить в моих объектах TIdSMTP и TIdMessage, чтобы отправлять электронные письма через SMTP-сервер Gmail?

Кроме того, очень приветствуется объяснение того, почему эта аутентификация отличается и для чего нужна DLL.


person Fabio Gomes    schedule 19.10.2009    source источник


Ответы (1)


Возможно, Марко сможет вам помочь...

Изменить: по этой ссылке на исходный код.

person Hugues Van Landeghem    schedule 19.10.2009
comment
Это сработало, спасибо, одна вещь, в которой я до сих пор не уверен, действительно ли мне нужны DLL OpenSSL? В статье об этом ничего не говорится, но когда я тестировал, выдается исключение Не удается загрузить библиотеку, если я пытаюсь отправить электронные письма без dll. Это до сих пор мне не очень понятно. Спасибо. - person Fabio Gomes; 20.10.2009
comment
Вам нужны библиотеки DLL OpenSSL, если вы используете родной класс Indy SSL IOHandler. Существуют сторонние классы IOHandler, которые не используют библиотеки DLL. - person Remy Lebeau; 03.11.2009
comment
Не могли бы вы упомянуть один из этих сторонних классов @RemyLebeau? - person delphirules; 05.10.2015
comment
@delphirules: Eldos SecureBlackbox содержит класс Indy IOHandler, который использует собственную реализацию SSL/TLS SBB вместо OpenSSL. Кроме того, в будущем выпуске Indy, вероятно, предоставит собственный класс IOHandler для реализации Microsoft CryptoAPI/SChannel SSL/TLS в качестве альтернативы OpenSSL в Windows. - person Remy Lebeau; 05.10.2015