?
Solved

Processing undeliverable emails/dead email addresses

Posted on 2011-09-10
4
Medium Priority
?
882 Views
Last Modified: 2012-11-16
Sending bulk email (subscriber base of over 100,000 recipients) using SQL Stored Procedures through Exchange 2007 and Exchange 2003. How is it possible to parse undeliverable messages/NDRs in order to strip out the original recipient address and automatically flag it in the original SQL record so that no further emails are sent to that address?

I've previously read about Exchange event sinks and intercepting the inbound NDR to strip out the email address and process it, however I'm wondering if this is the best solution or if anyone has ideas of how else to achieve this.
0
Comment
Question by:drl1
  • 2
  • 2
4 Comments
 
LVL 12

Expert Comment

by:FarWest
ID: 36516110
you can do that by making a c# using the event sink, by registering it to Exchange web services and be notified when new email comes and check its type,
but since it is like "house keeping" job, and I don't think that you need realtime to this type of maintinance operations, what you can do is to access the Inbox of the account the will receive the NDR, and process whatever emails in it, you can use even vbscript and put it in the the server tasks
check this page as startup, this example to move rhe messages, and you need it so when you finished the prcessed emails it better to move them in some kind of history
Code:Sub MoveToHistorikk()

Dim objNameSpace As Outlook.NameSpace
Dim oexpSource As Outlook.Explorer
Dim objInboxItems As Object
Dim objMailboxName As Outlook.MAPIFolder
Dim cmMailBoxName As String
   
    'Name of secondary mailbox
    cmMailBoxName = "Postboks - Van Maskinalarm"
   
    'All mailboxes are children of this folder
    Set objoutlook = CreateObject("Outlook.Application")
    Set objNameSpace = objoutlook.GetNamespace("MAPI")
         
    'Get the secondary mailbox
    Set objMailboxName = objNameSpace.Folders(cmMailBoxName)
    Set objInboxItems = objMailboxName.Items
   
    Set objDestinationFolder = objMailboxName.Folders("Historikk")
    Set oexpSource = Application.ActiveExplorer
   
    ' Move selection to Historikk
    For Each objInboxItems In oexpSource.Selection
      If TypeOf objInboxItems Is Outlook.MailItem Then
        objInboxItems.Move objDestinationFolder
      End If
    Next
   
    'Cleaning
    Set objNameSpace = Nothing
    Set objInboxItems = Nothing
    Set objMailboxName = Nothing
    Set objDestinationFolder = Nothing
    Set oexpSource = Nothing
End Sub

http://www.bigresource.com/VB-Moving-an-E-mail-from-inbox-to-another-folder-for-secondary-mail-account-75Gceh4hpI.html
 
0
 

Author Comment

by:drl1
ID: 36516123
Thanks for that. It does actually need to be close to real-time as we may send more than one email per day to certain subscribers, so if the 1st one bounces, we should avoid sending the 2nd and any subsequent emails.

Can you provide an example of event sink code?
0
 
LVL 12

Accepted Solution

by:
FarWest earned 1500 total points
ID: 36516151
ok,
it is called the notification services, so your code will be notified when any new messages arrived  and you can process the new messages, I have used that in my code as windows services and it works fine, but sometimes the link is broken and you have to restrat the services, since exchange has a machanizm that if the client did not response for the notification for certin time it will disconnect and do not send any notification,
also you have to take care of the firewall on the machine that runs the service so it will  allow incoming calles on that port "using netsh"

http://msdn.microsoft.com/en-us/library/bb204063(v=exchg.80).aspx

good luck
0
 

Author Comment

by:drl1
ID: 36516166
Thanks, I'll give this a try when I find some time over the next week or so.
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you have come across a situation where you need to find some EDB mailbox recovery techniques, then here you will find the same. In this article, we will take you through three techniques using which you will be able to perform EDB recovery. You …
This shares a stored procedure to retrieve permissions for a given user on the current database or across all databases on a server.
To show how to generate a certificate request in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Servers >> Certificates…
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

616 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question