47 lines
1.3 KiB
ObjectPascal
47 lines
1.3 KiB
ObjectPascal
unit dddDomEmailInterfaces;
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils,
|
|
SynCommons,
|
|
mORMot,
|
|
mORMotDDD,
|
|
DomUserTypes;
|
|
|
|
type
|
|
IDomUserEmailCheck = interface(IInvokable)
|
|
['{2942BC2D-84F7-4A79-8657-07F0602C3505}']
|
|
function CheckRecipient(const aEmail: RawUTF8): TCQRSResult;
|
|
function CheckRecipients(const aEmails: TRawUTF8DynArray): TCQRSResult;
|
|
end;
|
|
|
|
IDomUserEmailValidation = interface(IDomUserEmailCheck)
|
|
['{20129489-5054-4D4A-84B9-463DB98156B8}']
|
|
function ComputeURIForReply(const aLogonName,aEmail: RawUTF8): RawUTF8;
|
|
function StartEmailValidation(const aTemplate: TDomUserEmailTemplate;
|
|
const aLogonName,aEmail: RawUTF8): TCQRSResult;
|
|
function IsEmailValidated(const aLogonName,aEmail: RawUTF8): boolean;
|
|
end;
|
|
|
|
IDomUserEmailer = interface(IInvokable)
|
|
['{20B88FCA-B345-4D5E-8E07-4581C814AFD9}']
|
|
function SendEmail(const aRecipients: TRawUTF8DynArray;
|
|
const aSender,aSubject,aHeaders,aBody: RawUTF8): TCQRSResult;
|
|
end;
|
|
|
|
IDomUserTemplate = interface(IInvokable)
|
|
['{378ACC52-46BE-488D-B7ED-3F4E59316DFF}']
|
|
function ComputeMessage(const aContext: variant;
|
|
const aTemplateName: RawUTF8): RawUTF8;
|
|
end;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
initialization
|
|
TInterfaceFactory.RegisterInterfaces(
|
|
[TypeInfo(IDomUserEmailValidation),TypeInfo(IDomUserEmailer),
|
|
TypeInfo(IDomUserTemplate)]);
|
|
end. |