Menu

#60 Changes to Delphi, Android, Posix, NextGen, compatiblity

SVN
open
nobody
ACBr (1)
5
2021-10-29
2021-10-29
No

Hello Synapse Community

Attached are the Units modified by "Projeto ACBr", they already have all recent trunk modifications..
http://svn.code.sf.net/p/acbr/code/trunk2/Fontes/Terceiros/synalist/

We are successfully using these Units in various IDE's and Operating Systems:
Delphi: D7 – D28, Windows 32/64, Linux 64, Android 32/64 (including NEXTGEN compiler)
Lazarus/FPC: Windows 32/64 and Linux 32/64

I Hope this document can explain the changes, we made...

  • SynaFpc.pas -
    This Unit is being used to define Types that do not exist on some platforms. Such as the AnsiString declaration for the NEXTGEN compiler
    I also recreated in it the StrLCopy and StrLComp methods as they have substantial differences between the various IDEs
    Therefore, Unit SynaFpc has been added as a dependency on several other Units in order to facilitate support for multiple IDEs and compilers

-- SmtpSend.pas --

  • Added a new property that allows configuring Email Notifications
    TDeliveryStatusNotificationEvents = (dsnSucecess, dsnFailure, dsnDelay);
    TDeliveryStatusNotification = set of TdeliveryStatusNotificationEvents;
    {:Set of Events where DSN-Delivery Status Notification must occur. The
    Default is an empty Set (on DSN)
    https://www.lifewire.com/what-is-dsn-delivery-status-notification-for-smtp-email-3860942}
    property DeliveryStatusNotification: TDeliveryStatusNotification
    read FDeliveryStatusNotification write FDeliveryStatusNotification default [];
  • Added the Method: AuthXOauth2
  • Changed the authentication order in TSMTPSend.Login, after failures reported by our users, on some servers

-- MimePart.pas --

  • Added the "InlineCode" method, to facilitate conversion calls, using the class's internal properties
  • MimeType revised and extended…
  • Method "EncodePartHeader", modified, to correctly encode the Header in Encoding

-- MimeMess.pas --

  • Added auxiliary methods:
    function InlineCode(Value: string): string;
    function InlineEmail(Value: string): string;
  • Added the Property, TargetCharset to allow conversion between different versions of IDE and Operating Systems
    {:System charset type. Default value is charset used by default in your
    operating system.}
    property TargetCharset: TMimeChar read FTargetCharset Write FtargetCharset;

-- ssl_openssl_lib.pas --

  • I preferred to keep the same Unit, compatible with OpenSSL 1.0.x to 1.1.x, as this avoids IfDefs and allows the Program to adjust at runtime, to the existing installed libraries
    I applied the Patch suggested at: https://sourceforge.net/p/synalist/feature-requests/19/, and this some other changes
1 Attachments

Discussion


Log in to post a comment.

MongoDB Logo MongoDB