Fragensteller
HILFE: Mails einer Schnellkampagne werden mehrfach verschickt

Frage
-
Hallo zusammen,
ich habe ein schwerwiegendes Problem mit CRM 2016 (on premise) und server side sync:
Wir versenden unsere aktuellen Angebote über Schnellkampagnen / Marketingliste. Dabei werden rund 1100 Kunden kontaktiert. Seit den letzten beiden Kampagnen hatte ich den Umstand, dass sich einige Kunden verärgert gemeldet haben, dass die Mail teilweise bis zu sieben mal gesendet wurde.
Wenn ich mir per erweiterter Suche die Mails nach Status "Senden" bzw. "Senden ausstehend" anzeigen lasse, sehe ich in den E-Mail Details, dass teilweise schon 4 Sendeversuche unternommen wurden. Ich habe den Kunden kontaktiert und er hat mich informiert, dass er die Mail auch vier mal bekommen hat. Irgendwie scheint MS CRM anzunehmen, dass die Mail nicht versendet werden konnte, obwohl dies erfolgreich war.
Gibt es irgendeine Möglichkeit, die SMTP Ergebnisse zu sehen?
Viele Grüße
Alle Antworten
-
Danke für deine Antwort.
Leider kann ich das kaum testen... Ich habe eine Marketingliste erstellt, in der ich 1000 mal Mitglied bin, um nicht gegen "echte" Kunden zu testen.
Merkwürdigerweise empfange ich die Mails exakt einmal...
Hast du eine Idee, was die Ursache für den Fehler sein könnte?
Viele Grüße
-
Hallo,
eine Idee könnte ein Timing Problem mit dem Mailserver sein, aber das ist nur eine der Möglichkeiten.
Zum Testen würde ich einfach eine Marketingliste mit wenig Mittgliedern erstellen. Es kann aber sein, das dieses Problem nur bei vielen Mitgliedern in einer Marketingliste auftritt, das musst du ausprobieren.
Eventuell stehen auch Meldungen im Event Log der Server, die könntest du auch noch überprüfen.
Viele Grüße
Michael Sulz
MVP für Microsoft Dynamics CRM
Blog
Website XING LinkedIn Facebook Twitter- Bearbeitet Michael Sulz Freitag, 16. September 2016 07:56
-
Ich habe den Trace jetzt mal über die Powershell eingeschaltet und mich selbst 1000-fach als Kontakt angelegt... Mal sehen was dabei rauskommt.
Was ich allerdings schon sehen kann:
# ServerRole: AppServer, AsyncService, DiscoveryService, ApiServer, HelpServer, DeploymentService, SandboxServer, DeploymentManagementTools, VssWriter, EmailConnector
Wir lassen ja eine Aktivitäten-ID erzeugen nach dem Muster CRM:[0-9]{7}.
Da kommt dann bspw. das bei raus: CRM:0001018. Die Nachricht mit dieser ID ist zweimal im unter Status "Senden ausstehend" mit dem Hinweis
Diese Nachricht wurde noch nicht übermittelt. 1 Versuch(e) wurde(n) bereits unternommen.
Außerdem steht im Trace-Verzeichnis folgende Mitteilung, aber auch schon vor dem Versenden:
[2016-09-16 15:41:43.652] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 74 |Category: Platform.Sdk |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: 1a4897e2-3ee2-4dd3-823b-4138cc63f936 | TraceSource.TraceData ilOffset = 0x68
at TraceSource.TraceData(TraceEventType eventType, Int32 id, Object data) ilOffset = 0x68
at LegacyDiagnosticTrace.TraceEvent(TraceEventType type, Int32 code, String msdnTraceCode, String description, TraceRecord trace, Exception exception, Object source) ilOffset = 0x0
at ExceptionUtility.ThrowHelper(Exception exception, TraceEventType eventType, TraceRecord extendedData) ilOffset = 0x31
at AuthorizationBehavior.Authorize(MessageRpc& rpc) ilOffset = 0x4E
at ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) ilOffset = 0x267
at MessageRpc.Process(Boolean isOperationContextSet) ilOffset = 0x65
at ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext) ilOffset = 0x239
at ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext) ilOffset = 0xEA
at ChannelHandler.AsyncMessagePump(IAsyncResult result) ilOffset = 0x39
at ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result) ilOffset = 0x19
at AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) ilOffset = 0x0
at AsyncResult.Complete(Boolean completedSynchronously) ilOffset = 0xC2
at ReceiveItemAndVerifySecurityAsyncResult`2.InnerTryReceiveCompletedCallback(IAsyncResult result) ilOffset = 0x56
at AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) ilOffset = 0x0
at AsyncResult.Complete(Boolean completedSynchronously) ilOffset = 0xC2
at AsyncQueueReader.Set(Item item) ilOffset = 0x2F
at InputQueue`1.Dispatch() ilOffset = 0x129
at ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) ilOffset = 0x22
at IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped) ilOffset = 0x5
at _IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) ilOffset = 0x1E
><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"><TraceIdentifier>http://msdn.microsoft.com/de-DE/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier><Description>Eine Ausnahme wird ausgelöst.</Description><AppDomain>/LM/W3SVC/1/ROOT-1-131184364333211088</AppDomain><Exception><ExceptionType>System.ServiceModel.FaultException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Der Zugriff wurde verweigert.</Message><StackTrace> bei System.ServiceModel.Dispatcher.AuthorizationBehavior.Authorize(MessageRpc&amp; rpc)
> bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
> bei System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
> bei System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
> bei System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
> bei System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
> bei System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
> bei System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
> bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
> bei System.ServiceModel.Channels.SecurityChannelListener`1.ReceiveItemAndVerifySecurityAsyncResult`2.InnerTryReceiveCompletedCallback(IAsyncResult result)
> bei System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
> bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
> bei System.Runtime.InputQueue`1.AsyncQueueReader.Set(Item item)
> bei System.Runtime.InputQueue`1.Dispatch()
> bei System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
> bei System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
> bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
></StackTrace><ExceptionString>System.ServiceModel.FaultException: Der Zugriff wurde verweigert.</ExceptionString></Exception></TraceRecord>
-
Ich konnte den Fehler beim Massenversand reproduzieren: Die Mail wurde, man sieht es ja an der generierten ID, zwei mal Versand. Im Mailobjekt in CRM steht jetzt mittlerweile:
Diese Nachricht wurde noch nicht übermittelt. 2 Versuch(e) wurde(n) bereits unternommen.
In den Logs ist nichts zu finden...
Kann man dem System irgendwie beibringen, dass der Versand jeder Mail nicht öfter als einmal "versucht" werden soll?
-