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