Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

E-mails sent from MS Acess Application get stuck in Sent folder

Posted on 2013-01-04
5
Medium Priority
?
351 Views
Last Modified: 2013-01-07
We have a function in MS Access that sends e-mails using Outlook.  This was working fine, then our company upgraded to an Outlook 2010 Exchange server.  Now this doesn't work anymore.   The e-mails are in the Sent folder, but never reach the recipients.  However, if you open the messages in the Sent folder and reply to all, they do get to the recipients.

Here is the source...


'SendMAPIEmailto replace the older one
 Public Function SendMAPIEmail(strTo As String, _
           strSubject As String, _
           strMessageBody As String, _
           Optional strAttachmentPaths As String, _
           Optional strCC As String, _
           Optional strBCC As String, _
           Optional strReplyTo As String, _
           Optional dtDTWhen As Date) As Boolean
         
   Dim mailItem As Outlook.mailItem
   Dim bSuccess As Boolean

   ' assume success but set error trap
   bSuccess = True
   lastOutlookErrorDesc = ""

 On Error GoTo SendMAPIEmail_Error

  ' if calling in a loop perhaps remove then clean, at end of loop
   InitOutlook
   If Not olApp Is Nothing Then
    Set mailItem = olApp.CreateItem(olMailItem)

    mailItem.To = strTo
    mailItem.Subject = strSubject

    ' mailItem.Display
    ' If we need HTML - we can use this:
    ' mailItem.HTMLBody = strMessageBody
    mailItem.Body = strMessageBody
   
    '------------ add all the optional items
    ' attachments
    If Not IsMissing(strAttachmentPaths) Then
     If (strAttachmentPaths <> "") Then
      Dim myAttachements As Outlook.Attachments
      Set myAttachements = mailItem.Attachments
      ' may need a little more work here
      myAttachements.Add strAttachmentPaths
     End If
    End If
    ' CC string
    If Not IsMissing(strCC) Then
     If strCC <> "" Then
      mailItem.CC = strCC
     End If
    End If
    ' BCC string
    If Not IsMissing(strBCC) Then
     mailItem.BCC = strBCC
    End If
    ' ReplyTo string
    If Not IsMissing(strReplyTo) Then
      If strReplyTo <> "" Then
        mailItem.ReplyRecipients.Add strReplyTo
      End If
    End If
    ' dtDTWhen string
    If Not IsMissing(dtDTWhen) Then
     mailItem.DeferredDeliveryTime = dtDTWhen
    End If
 '   When debugging this is useful
 '   mailItem.Display

    mailItem.Send

'    GoTo EndSend
   End If

SendMAPIEmail_Exit:
 ' clean up and exit
   CleanUp
   SendMAPIEmail = bSuccess
   On Error GoTo 0
   Exit Function

 ' if we get here then something wne wrong
SendMAPIEmail_Error:
   bSuccess = False
   lastOutlookErrorDesc = Err.DESCRIPTION
   Resume SendMAPIEmail_Exit

 End Function
0
Comment
Question by:jribble
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 58
ID: 38746647
Sounds like the problem is in Exchange.  I would look at the message tracking to see what the issue is.

If it's in the "sent" folder, Outlook considers it sent.

Jim.
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 2000 total points
ID: 38751053
Try commenting out the all the code regarding "dtDTWhen"
Not sure why it is needed, but it seems to have something to do with "sending" the email, ...this would be a good place to start your investigation.
0
 
LVL 58
ID: 38751071
I missed that; good catch!

Jim.
0
 

Author Closing Comment

by:jribble
ID: 38751500
Removing the dtDTWhen related statments solved the problem.  E-mails are now coming through to my Inbox.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 38751691
Great,

Again, that was just a shot in the dark...
;-)

As I stated, I was not sure what that was, or why it was needed...

Furthermore, I am not sure why it may have worked before, but does not work now...
(I'm no Exchange Expert...)

;-)


Jeff
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

This article describes how to import Lotus Notes Contacts into Outlook 2016, 2013, 2010 and 2007 etc. with a few manual steps. You can easily export and migrate Lotus Notes contacts into Microsoft Outlook without having to use any third party tools.
Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

618 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