Notification Service : Delivery Failure for E-Mail.
-
Tuesday, April 06, 2010 8:55 AM
Hi,
I am running a Notification serivce at my local system. Its trigger all the events sucessfully . But i get Delivery Failure Description in NSPrNotificationsNotificationDistribution Table while Email is trigger
I even didnt find any message in mailroot folder .
Application XML
<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.microsoft.com/MicrosoftNotificationServices/ApplicationDefinitionFileSchema">
<Database>
<DatabaseName>ABCPress</DatabaseName>
<SchemaName>NSC</SchemaName>
</Database>
<EventClasses>
<EventClass>
<EventClassName>PressRelease</EventClassName>
<Schema>
<Field>
<FieldName>PrId</FieldName>
<FieldType>Int</FieldType>
<FieldTypeMods>NOT NULL</FieldTypeMods>
</Field>
<Field>
<FieldName>PrTitle</FieldName>
<FieldType>Varchar(250)</FieldType>
<FieldTypeMods>NOT NULL</FieldTypeMods>
</Field>
<Field>
<FieldName>PdfFileName</FieldName>
<FieldType>Varchar(250)</FieldType>
<FieldTypeMods>NOT NULL</FieldTypeMods>
</Field>
<Field>
<FieldName>PrDate</FieldName>
<FieldType>datetime</FieldType>
<FieldTypeMods>NOT NULL</FieldTypeMods>
</Field>
<Field>
<FieldName>PrType</FieldName>
<FieldType>int</FieldType>
<FieldTypeMods>NOT NULL</FieldTypeMods>
</Field>
</Schema>
<ChronicleRule>
<RuleName>PrChronRule</RuleName>
<Action>
Insert into PrChron (PrId,PrTitle,PdfFileName,PrDate,PrType)
Select e.PrId,e.PrTitle,e.PdfFileName,e.PrDate,e.PrType
From PressRelease e
where e.PrId not in (select PrChron.PrId from PrChron)
Update PrChron
set PrTitle=e.PrTitle,
PdfFileName=e.PdfFileName,
PrDate=e.PrDate,
PrType=e.PrType
from PressRelease e,PrChron c
where e.PrId=c.PrId
</Action>
</ChronicleRule>
<Chronicles>
<Chronicle>
<ChronicleName>PrChron</ChronicleName>
<SqlSchema>
<SqlStatement>
If Exists (Select name from dbo.Sysobjects where name='PrChron')
drop table PrChron
Create Table PrChron
( PrId int,
PrTitle Varchar(250),
PdfFileName Varchar(250),
PrDate datetime,
PrType int
)
Create Index ixPrId on PrChron (PrId)
</SqlStatement>
</SqlSchema>
</Chronicle>
</Chronicles>
</EventClass>
</EventClasses>
<SubscriptionClasses>
<SubscriptionClass>
<SubscriptionClassName>PrSubscription</SubscriptionClassName>
<Schema>
<Field>
<FieldName>SubscriberDeviceName</FieldName>
<FieldType>nvarchar(250)</FieldType>
<FieldTypeMods>Not Null</FieldTypeMods>
</Field>
<Field>
<FieldName>SubscriberLocale</FieldName>
<FieldType>nvarchar(10)</FieldType>
<FieldTypeMods>Not Null</FieldTypeMods>
</Field>
<Field>
<FieldName>PrType</FieldName>
<FieldType>int</FieldType>
<FieldTypeMods>Not Null</FieldTypeMods>
</Field>
</Schema>
<EventRules>
<EventRule>
<EventClassName>PressRelease</EventClassName>
<RuleName>PrEventRule</RuleName>
<Action>
Insert into PrNotifications (SubscriberId,DeviceName,SubscriberLocale,PrTitle,PdfFileName)
select s.SubscriberId,s.SubscriberDeviceName,s.SubscriberLocale,e.PrTitle,e.PdfFileName
from PressRelease e,PrSubscription s where e.PrType=s.PrType
</Action>
</EventRule>
</EventRules>
<ScheduledRules>
<ScheduledRule>
<RuleName>PrSubscriptionSchedRule</RuleName>
<Action>
Insert into PrNotifications(SubscriberId,DeviceName,SubscriberLocale,PrTitle,PdfFileName)
select s.SubscriberId,s.SubscriberDeviceName,s.SubscriberLocale,e.PrTitle,e.PdfFileName
from PressRelease e,PrSubscription s where e.PrType=s.PrType
</Action>
</ScheduledRule>
</ScheduledRules>
</SubscriptionClass>
</SubscriptionClasses>
<NotificationClasses>
<NotificationClass>
<NotificationClassName>PrNotifications</NotificationClassName>
<Schema>
<Fields>
<Field>
<FieldName>PrTitle</FieldName>
<FieldType>Varchar(250)</FieldType>
</Field>
<Field>
<FieldName>PdfFileName</FieldName>
<FieldType>Varchar(250)</FieldType>
</Field>
</Fields>
</Schema>
<ExpirationAge>P0DT08H00M00S</ExpirationAge>
<ContentFormatter>
<ClassName>XsltFormatter</ClassName>
<Arguments>
<Argument>
<Name>XsltBaseDirectoryPath</Name>
<Value>%_ApplicationBaseDirectoryPath_%\XslTransforms</Value>
</Argument>
<Argument>
<Name>XsltFileName</Name>
<Value>Application.xslt</Value>
</Argument>
</Arguments>
</ContentFormatter>
<DigestDelivery>true</DigestDelivery>
<MulticastDelivery>false</MulticastDelivery>
<Protocols>
<Protocol>
<ProtocolName>SMTP</ProtocolName>
<Fields>
<Field>
<FieldName>Subject</FieldName>
<SqlExpression>' Details - ' + convert (Nvarchar(30), Getdate(),101)</SqlExpression>
</Field>
<Field>
<FieldName>BodyFormat</FieldName>
<SqlExpression>'html'</SqlExpression>
</Field>
<Field>
<FieldName>From</FieldName>
<SqlExpression> 'XX@XX.com'</SqlExpression>
</Field>
<Field>
<FieldName>Priority</FieldName>
<SqlExpression>'Normal'</SqlExpression>
</Field>
<Field>
<FieldName>To</FieldName>
<SqlExpression>DeviceAddress</SqlExpression>
</Field>
</Fields>
<ProtocolExecutionSettings>
<RetrySchedule>
<RetryDelay>P0DT01H00M00S</RetryDelay>
<RetryDelay>P0DT02H00M00S</RetryDelay>
<RetryDelay>P0DT04H00M00S</RetryDelay>
</RetrySchedule>
<FailuresBeforeAbort>4</FailuresBeforeAbort>
<WorkItemTimeout>P0DT02H00M00S</WorkItemTimeout>
</ProtocolExecutionSettings>
</Protocol>
</Protocols>
</NotificationClass>
</NotificationClasses>
<Providers>
<HostedProvider>
<ProviderName>SqlPrEP</ProviderName>
<ClassName>SQLProvider</ClassName>
<SystemName>%_NSServer_%</SystemName>
<Schedule>
<Interval>P0DT00H00M15S</Interval>
</Schedule>
<Arguments>
<Argument>
<Name>EventsQuery</Name>
<Value>Select PrId,PrTitle,PdfFileName,PrDate,PrType from StoneWorks.dbo.StoneTable </Value>
</Argument>
<Argument>
<Name>EventClassName</Name>
<Value>PressRelease</Value>
</Argument>
</Arguments>
</HostedProvider>
</Providers>
<Generator>
<SystemName>%_NSServer_%</SystemName>
</Generator>
<Distributors>
<Distributor>
<SystemName>%_NSServer_%</SystemName>
<QuantumDuration>PT15S</QuantumDuration>
</Distributor>
</Distributors>
<ApplicationExecutionSettings>
<QuantumDuration>PT15S</QuantumDuration>
</ApplicationExecutionSettings>
</Application>
INSTANCE Config.XML
<?xml version="1.0" encoding="utf-8"?>
<NotificationServicesInstance xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.microsoft.com/MicrosoftNotificationServices/ConfigurationFileSchema">
<InstanceName>ABCPress</InstanceName>
<ParameterDefaults>
<Parameter>
<Name>_SQLServer_</Name>
<Value>##SQL_SERVER##</Value>
</Parameter>
<Parameter>
<Name>_NSServer_</Name>
<Value>%COMPUTERNAME%</Value>
</Parameter>
<Parameter>
<Name>_InstanceBaseDirectoryPath_</Name>
<Value>##INSTANCE_BASE_DIRECTORY_PATH##</Value>
</Parameter>
</ParameterDefaults>
<SqlServerSystem>%_SqlServer_%</SqlServerSystem>
<Database>
<DatabaseName>ABCPress</DatabaseName>
<SchemaName>NSC1</SchemaName>
</Database>
<Applications>
<Application>
<ApplicationName>PressReleases</ApplicationName>
<BaseDirectoryPath>%_InstanceBaseDirectoryPath_%\NSC</BaseDirectoryPath>
<ApplicationDefinitionFilePath>ApplicationDefinition.xml</ApplicationDefinitionFilePath>
<Parameters>
<Parameter>
<Name>_NSServer_</Name>
<Value>%_NSServer_%</Value>
</Parameter>
<Parameter>
<Name>_ApplicationBaseDirectoryPath_</Name>
<Value>%_InstanceBaseDirectoryPath_%\NSC</Value>
</Parameter>
</Parameters>
</Application>
</Applications>
<DeliveryChannels>
<DeliveryChannel>
<DeliveryChannelName>EmailChannel</DeliveryChannelName>
<ProtocolName>SMTP</ProtocolName>
<Arguments>
<Argument>
<Name>SmtpServer</Name>
<Value>IP address</Value>
</Argument>
<Argument>
<Name>BodyEncoding</Name>
<Value>utf-8</Value>
</Argument>
</Arguments>
</DeliveryChannel>
</DeliveryChannels>
<EncryptArguments>false</EncryptArguments>
</NotificationServicesInstance>
Application.xslt
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="notifications">
New songs are available for download from the music store!
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="notification">
PrTitle: <xsl:value-of select="PrTitle" />
PdfFileName: <xsl:value-of select="PdfFileName" />
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>

