Отправка сообщение на email

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Хорошо бы конечно кто-нибудь наисал новую библиотеку без использования сторонних synapse и Indy, кроссплатформенно. По мне пока лучшее решение это XMailer, но оно зависит от synapse
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Ichthyander писал(а):Хорошо бы конечно кто-нибудь наисал новую библиотеку без использования сторонних synapse и Indy, кроссплатформенно. По мне пока лучшее решение это XMailer, но оно зависит от synapse
A synapse, в свою очередь, зависит от выбранной библиотеки поддержки протокола защищенной передачи между узлами. Так что это целый стек зависимостей.
В любом случае, для реализации TLS придется использовать MS SSPI SSL, OpenSSL, CryptLib, StreamSecII или OpenStreamSecII SSL.
Так что, по итогу, это будет очередной synapse или Indy :mrgreen:
А писать полноценную библиотеку, подобную OpenSSL или CryptLib, специально на pascal никто точно не возьмется.
Хотя, если решать утилитарную задачу отправки почты по smtp, то, в принципе, реально...
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3069
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Ichthyander писал(а):Хорошо бы конечно кто-нибудь наисал новую библиотеку без использования сторонних synapse и Indy, кроссплатформенно.
Зачем??? Число тех, кому это надо, меньше статпогрешности.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

delphius писал(а):В любом случае, для реализации TLS придется использовать MS SSPI SSL, OpenSSL, CryptLib, StreamSecII или OpenStreamSecII SSL.
Так что, по итогу, это будет очередной synapse или Indy :mrgreen:
Не нужно городить. Сделать поддержку TLS такой же как для нативного fphttpclient. С подключением модуля ssl_openssl

Добавлено спустя 51 секунду:
Снег Север писал(а):Зачем??? Число тех, кому это надо, меньше статпогрешности.
Это нужно всем, кто использует почтовый протокол в Lazarus - и это далеко "от статпогрешности"
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Ichthyander писал(а): Не нужно городить. Сделать поддержку TLS такой же как для нативного fphttpclient. С подключением модуля ssl_openssl
Может тогда проще Xmailer избавить от синапсзависимости? Или там всё очень глубоко завязано?
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3069
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Ichthyander писал(а):Это нужно всем, кто использует почтовый протокол в Lazarus
Никому не нужно. Инлди и синапс плюс опенссл перекрывают все потребности с большим избытком - когда руки прямые, разумеется.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Снег Север писал(а):Инлди и синапс плюс опенссл перекрывают все потребности с большим избытком - когда руки прямые, разумеется.
Кустарщина на масштабируемых проектах выходит боком. Если не сразу так со временем. Если конечно делаешь реальны проекты, а не почтовый клиент как таковой. А к примеру, веб-сервис, где отправка почтовых сообщений чисто утилитарная функция. Давайте еще откажемся от HTTP клиентов. Ведь если руки прямые, то можно сделать а самому. Но только вопрос: а нафиг? Вот это вот дельфи5-деформация у многих программистов

Добавлено спустя 1 минуту 2 секунды:
Снег Север писал(а):Никому не нужно. Инлди и синапс плюс опенссл перекрывают все потребности с большим избытком - когда руки прямые, разумеется.
От OpenSSL никто не отказывается. Он используется в том же самом нативном HTTP клиенте от Lazarus

Добавлено спустя 3 минуты 4 секунды:
delphius писал(а):Может тогда проще Xmailer избавить от синапсзависимости? Или там всё очень глубоко завязано?
Уверен, что будет проще, чем написать заново. Хотя бы ненамного. Просто все равно XMailer это в основном по мне просто обертка для synapse. Тут проблема не в этом. Надо просто сделать. И чтобы красиво и модульно было и кроссплатформенно. И в идеале должно войти в нативные либы Lazarus.
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Ichthyander писал(а):Он используется в том же самом нативном HTTP клиенте от Lazarus
При этом, OpenSSL же не догма?
Я, например, пока не видел примеров со статической компиляцией OpenSSL, а я бы с радостью упихал бы все в бинарник.
Ichthyander писал(а):Тут проблема не в этом. Надо просто сделать
Да я понимаю, чтобы просто стало встроенной функцией, как mail в php


Обновил свой пример, переписал его кроссплатформенно, проверил отправку через Rambler в Windows/Linux.
Было бы неплохо, если бы кто-то ещё его проверил :roll:
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

delphius писал(а):При этом, OpenSSL же не догма?
Нет, не догма. Можно написать и свои модули

Добавлено спустя 1 минуту 1 секунду:
delphius писал(а):Да я понимаю, чтобы просто стало встроенной функцией, как mail в php
В идеале. Но хотя бы включили в виде нативной либы, типа fcl-mail/smtp

Добавлено спустя 55 секунд:
delphius писал(а):Обновил свой пример, переписал его кроссплатформенно, проверил отправку через Rambler в Windows/Linux.
В свободное время потестю обязательно. А почему бы это дело на github не залить? Там и правки удобно предлагать и раскрутить можно будет. Или как репу или хотя бы как gist
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Ichthyander писал(а):А почему бы это дело на github не залить? Там и правки удобно предлагать и раскрутить можно будет. Или как репу или хотя бы как gist
Да, добавлю на github, как сборник рабочих функций fpmailsend для отправки писем как средствами чистого fpc, так и с применением сторонних библиотек, копание в Indy в поисках вчерашнего дня в соседней теме вселило уверенность, что это актуально.
К тому же я уже сделал рабочий пример отправки сообщения через smtp Gmail с tls на чистом fpc с помощью cryptlib, примеров на паскале по которому, в отличии от OpenSSL, я практически не нашёл, благо, есть встроенный актуальный обширный мануал от разработчика с примерами на c и древний, но относительно рабочий пример отправки на c, который путем транспиляции и жёсткого допиливания получилось адаптировать на free pascal
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Да, было бы отлично. И один совет. Многие паскалисты думают, что на гитхаб нужно заливать готовые репы и либы и мол сырое как-то неудобно. Дело в том, что именно для работы и разработки GitHub и нужен. Любой чих или пых и я сразу заливаю на гит свою либу или даже небольшую прогу. Это очень удобно. Просто зачастую до гитхаба так и не доходит и все хоронится на собственных жестких дисках...
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Многие паскалисты думают, что на гитхаб нужно заливать готовые репы и либы и мол сырое как-то неудобно
Спасибо за совет) я уже вхожу в команду разработки pascal webui на гитхабе, так что проникся)

Хоть пока никакой либы нет, это максимум тянет на гист, но пусть лежит в репе для удобства и организации...
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

delphius писал(а):Спасибо за совет) я уже вхожу в команду разработки pascal webui на гитхабе, так что проникся)
Классный проект, кстати. Поставил лайк
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Ichthyander писал(а):Классный проект, кстати. Поставил лайк
Спасибо большое :!:
Будет время, потестируйте и этот пример отправки по SMTP на Indy

Как же не удобно, когда нет простого способа скачать и поставить последнюю версию любой библиотеки или модуля, а если это и удается, то потом ещё танцы с бубном в определении правильной и рабочей версии динамической библиотеки к ней. Экосистема Паскаля видимо и стоит на месте из-за таких вот вещей, как отсутствие полноценного аналога npm, nuget и т.п.
А имеем мы мертвый fppkg для fpc, opm в ручном режиме наполнения и обновления для lazarus и неудавшиеся потуги с внедрением полноценного репозитория
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

Ichthyander писал(а):А почему бы это дело на github не залить?
Залил все наработки на github в отдельный репозиторий
Ответить