Отправка сообщение на email
Модератор: Модераторы
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Хорошо бы конечно кто-нибудь наисал новую библиотеку без использования сторонних synapse и Indy, кроссплатформенно. По мне пока лучшее решение это XMailer, но оно зависит от synapse
A synapse, в свою очередь, зависит от выбранной библиотеки поддержки протокола защищенной передачи между узлами. Так что это целый стек зависимостей.Ichthyander писал(а):Хорошо бы конечно кто-нибудь наисал новую библиотеку без использования сторонних synapse и Indy, кроссплатформенно. По мне пока лучшее решение это XMailer, но оно зависит от synapse
В любом случае, для реализации TLS придется использовать MS SSPI SSL, OpenSSL, CryptLib, StreamSecII или OpenStreamSecII SSL.
Так что, по итогу, это будет очередной synapse или Indy
А писать полноценную библиотеку, подобную OpenSSL или CryptLib, специально на pascal никто точно не возьмется.
Хотя, если решать утилитарную задачу отправки почты по smtp, то, в принципе, реально...
- Снег Север
- долгожитель
- Сообщения: 3069
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Зачем??? Число тех, кому это надо, меньше статпогрешности.Ichthyander писал(а):Хорошо бы конечно кто-нибудь наисал новую библиотеку без использования сторонних synapse и Indy, кроссплатформенно.
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Не нужно городить. Сделать поддержку TLS такой же как для нативного fphttpclient. С подключением модуля ssl_openssldelphius писал(а):В любом случае, для реализации TLS придется использовать MS SSPI SSL, OpenSSL, CryptLib, StreamSecII или OpenStreamSecII SSL.
Так что, по итогу, это будет очередной synapse или Indy
Добавлено спустя 51 секунду:
Это нужно всем, кто использует почтовый протокол в Lazarus - и это далеко "от статпогрешности"Снег Север писал(а):Зачем??? Число тех, кому это надо, меньше статпогрешности.
Может тогда проще Xmailer избавить от синапсзависимости? Или там всё очень глубоко завязано?Ichthyander писал(а): Не нужно городить. Сделать поддержку TLS такой же как для нативного fphttpclient. С подключением модуля ssl_openssl
- Снег Север
- долгожитель
- Сообщения: 3069
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Никому не нужно. Инлди и синапс плюс опенссл перекрывают все потребности с большим избытком - когда руки прямые, разумеется.Ichthyander писал(а):Это нужно всем, кто использует почтовый протокол в Lazarus
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Кустарщина на масштабируемых проектах выходит боком. Если не сразу так со временем. Если конечно делаешь реальны проекты, а не почтовый клиент как таковой. А к примеру, веб-сервис, где отправка почтовых сообщений чисто утилитарная функция. Давайте еще откажемся от HTTP клиентов. Ведь если руки прямые, то можно сделать а самому. Но только вопрос: а нафиг? Вот это вот дельфи5-деформация у многих программистовСнег Север писал(а):Инлди и синапс плюс опенссл перекрывают все потребности с большим избытком - когда руки прямые, разумеется.
Добавлено спустя 1 минуту 2 секунды:
От OpenSSL никто не отказывается. Он используется в том же самом нативном HTTP клиенте от LazarusСнег Север писал(а):Никому не нужно. Инлди и синапс плюс опенссл перекрывают все потребности с большим избытком - когда руки прямые, разумеется.
Добавлено спустя 3 минуты 4 секунды:
Уверен, что будет проще, чем написать заново. Хотя бы ненамного. Просто все равно XMailer это в основном по мне просто обертка для synapse. Тут проблема не в этом. Надо просто сделать. И чтобы красиво и модульно было и кроссплатформенно. И в идеале должно войти в нативные либы Lazarus.delphius писал(а):Может тогда проще Xmailer избавить от синапсзависимости? Или там всё очень глубоко завязано?
При этом, OpenSSL же не догма?Ichthyander писал(а):Он используется в том же самом нативном HTTP клиенте от Lazarus
Я, например, пока не видел примеров со статической компиляцией OpenSSL, а я бы с радостью упихал бы все в бинарник.
Да я понимаю, чтобы просто стало встроенной функцией, как mail в phpIchthyander писал(а):Тут проблема не в этом. Надо просто сделать
Обновил свой пример, переписал его кроссплатформенно, проверил отправку через Rambler в Windows/Linux.
Было бы неплохо, если бы кто-то ещё его проверил
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Нет, не догма. Можно написать и свои модулиdelphius писал(а):При этом, OpenSSL же не догма?
Добавлено спустя 1 минуту 1 секунду:
В идеале. Но хотя бы включили в виде нативной либы, типа fcl-mail/smtpdelphius писал(а):Да я понимаю, чтобы просто стало встроенной функцией, как mail в php
Добавлено спустя 55 секунд:
В свободное время потестю обязательно. А почему бы это дело на github не залить? Там и правки удобно предлагать и раскрутить можно будет. Или как репу или хотя бы как gistdelphius писал(а):Обновил свой пример, переписал его кроссплатформенно, проверил отправку через Rambler в Windows/Linux.
Да, добавлю на github, как сборник рабочих функций fpmailsend для отправки писем как средствами чистого fpc, так и с применением сторонних библиотек, копание в Indy в поисках вчерашнего дня в соседней теме вселило уверенность, что это актуально.Ichthyander писал(а):А почему бы это дело на github не залить? Там и правки удобно предлагать и раскрутить можно будет. Или как репу или хотя бы как gist
К тому же я уже сделал рабочий пример отправки сообщения через smtp Gmail с tls на чистом fpc с помощью cryptlib, примеров на паскале по которому, в отличии от OpenSSL, я практически не нашёл, благо, есть встроенный актуальный обширный мануал от разработчика с примерами на c и древний, но относительно рабочий пример отправки на c, который путем транспиляции и жёсткого допиливания получилось адаптировать на free pascal
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Да, было бы отлично. И один совет. Многие паскалисты думают, что на гитхаб нужно заливать готовые репы и либы и мол сырое как-то неудобно. Дело в том, что именно для работы и разработки GitHub и нужен. Любой чих или пых и я сразу заливаю на гит свою либу или даже небольшую прогу. Это очень удобно. Просто зачастую до гитхаба так и не доходит и все хоронится на собственных жестких дисках...
Спасибо за совет) я уже вхожу в команду разработки pascal webui на гитхабе, так что проникся)Многие паскалисты думают, что на гитхаб нужно заливать готовые репы и либы и мол сырое как-то неудобно
Хоть пока никакой либы нет, это максимум тянет на гист, но пусть лежит в репе для удобства и организации...
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Классный проект, кстати. Поставил лайкdelphius писал(а):Спасибо за совет) я уже вхожу в команду разработки pascal webui на гитхабе, так что проникся)
Спасибо большоеIchthyander писал(а):Классный проект, кстати. Поставил лайк
Будет время, потестируйте и этот пример отправки по SMTP на Indy
Как же не удобно, когда нет простого способа скачать и поставить последнюю версию любой библиотеки или модуля, а если это и удается, то потом ещё танцы с бубном в определении правильной и рабочей версии динамической библиотеки к ней. Экосистема Паскаля видимо и стоит на месте из-за таких вот вещей, как отсутствие полноценного аналога npm, nuget и т.п.
А имеем мы мертвый fppkg для fpc, opm в ручном режиме наполнения и обновления для lazarus и неудавшиеся потуги с внедрением полноценного репозитория
Залил все наработки на github в отдельный репозиторийIchthyander писал(а):А почему бы это дело на github не залить?
