USP_TRANSACTIONALEMAIL_ADDTOQUEUE
Adds a transactional email request to the queue.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@QUEUEID | uniqueidentifier | INOUT | |
@STATUSID | uniqueidentifier | INOUT | |
@UNIQUEIDFIELDNAME | nvarchar(128) | IN | |
@EMAILADDRESSFIELDNAME | nvarchar(128) | IN | |
@EMAILDISPLAYNAMEFIELDNAME | nvarchar(128) | IN | |
@MERGETOKEN | nvarchar(3) | IN | |
@RECIPIENTDATA | xml | IN | |
@EMAILHEADER | xml | IN | |
@CONTENTTEXT | nvarchar(max) | IN | |
@CONTENTHTML | nvarchar(max) | IN | |
@THREADID | uniqueidentifier | IN | |
@SOURCEID | int | IN | |
@RETRYNUMBER | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CONSUMERSTARTDATE | datetime | IN | |
@CONSUMERENDDATE | datetime | IN | |
@RECIPIENTADDRESS | nvarchar(255) | IN |
Definition
Copy
CREATE procedure dbo.USP_TRANSACTIONALEMAIL_ADDTOQUEUE
(
@QUEUEID uniqueidentifier = null output,
@STATUSID uniqueidentifier = null output,
@UNIQUEIDFIELDNAME nvarchar(128),
@EMAILADDRESSFIELDNAME nvarchar(128),
@EMAILDISPLAYNAMEFIELDNAME nvarchar(128),
@MERGETOKEN nvarchar(3),
@RECIPIENTDATA xml,
@EMAILHEADER xml,
@CONTENTTEXT nvarchar(max),
@CONTENTHTML nvarchar(max),
@THREADID uniqueidentifier,
@SOURCEID integer,
@RETRYNUMBER int = 0,
@CHANGEAGENTID uniqueidentifier = null,
@CONSUMERSTARTDATE datetime,
@CONSUMERENDDATE datetime,
@RECIPIENTADDRESS nvarchar(255) = null
)
as
begin
set nocount on;
begin tran INSERTEMAILJOB
begin try
if @QUEUEID is null
set @QUEUEID = newid();
if @STATUSID is null
set @STATUSID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
insert into dbo.EMAILQUEUETRANSACTIONAL
(
ID,
RECIPIENTDATA,
EMAILHEADER,
CONTENTTEXT,
CONTENTHTML,
THREADID,
SOURCE,
RETRYNUMBER,
DATEADDEDTOQUEUE
)
values
(
@QUEUEID,
@RECIPIENTDATA,
@EMAILHEADER,
@CONTENTTEXT,
@CONTENTHTML,
@THREADID,
@SOURCEID,
@RETRYNUMBER,
getdate()
);
end try
begin catch
if @@trancount > 0
rollback tran INSERTEMAILJOB
exec dbo.USP_RAISE_ERROR
return 1
end catch
begin try
insert into dbo.EMAILSTATUSTRANSACTIONAL
(
ID,
EMAILQUEUETRANSACTIONALID,
STATUS,
EMAILHEADER,
EXTERNALJOBIDENTITY,
RETRYNUMBER,
ADDEDBYID,
CHANGEDBYID,
UNIQUEIDFIELDNAME,
EMAILADDRESSFIELDNAME,
EMAILDISPLAYNAMEFIELDNAME,
MERGETOKEN,
CONSUMERSTARTDATE,
CONSUMERENDDATE,
RECIPIENTADDRESS
)
values
(
@STATUSID,
@QUEUEID,
15,
@EMAILHEADER,
'00000000-0000-0000-0000-000000000000',
0,
@CHANGEAGENTID,
@CHANGEAGENTID,
@UNIQUEIDFIELDNAME,
@EMAILADDRESSFIELDNAME,
@EMAILDISPLAYNAMEFIELDNAME,
@MERGETOKEN,
@CONSUMERSTARTDATE,
@CONSUMERENDDATE,
@RECIPIENTADDRESS
);
end try
begin catch
if @@trancount > 0
rollback tran INSERTEMAILJOB
exec dbo.USP_RAISE_ERROR
return 2
end catch
if @@trancount > 0
commit tran INSERTEMAILJOB
return 0;
end