MS Access / Outlook 2010 - how to choose which account to send email from?

后端 未结 2 617
春和景丽
春和景丽 2020-12-19 21:21

I am trying to send emails from a specific account but it always sends from my main no matter how much code I try or what I do. Is there any way to tell it to send it from a

相关标签:
2条回答
  • 2020-12-19 21:43

    Try using

    Set oMail.sendusingaccount=olAccount
    

    instead of

    oMail.sendusingaccount=olAccount
    

    It worked for me, your code is perfect, just the Set is missing.

    0 讨论(0)
  • 2020-12-19 22:02

    It is also much easier when the user can select the email address rather than account number. sendCaller loops through the accounts until it finds this email address. From there on it will call sendFile from where the message will be sent.

    Sub sendCaller()
    'creates outlook application
    'chooses an email address and finds the corresponding account number
    
        Dim OutApp As Object
        Dim i As Integer, accNo As Integer
    
        Set OutApp = CreateObject("Outlook.Application")
        emailToSendTo = "name@domain.com"  'put required email address
    
    'if smtp address=email we want to send to, acc no we are looking for is identified
       For i = 1 To OutApp.Session.Accounts.Count
          'Uncomment the Debug.Print command to see all email addresses that belongs to you
           '''Debug.Print "Acc name: " & OutApp.Session.Accounts.Item(i) & " Acc number: " & i & " email: " & OutApp.Session.Accounts.Item(i).smtpAddress
           If OutApp.Session.Accounts.Item(i).smtpAddress = emailToSendTo Then accNo = i
        Next i
    
        sendFile accNo
    
    End Sub
    
    Sub sendFile(accountNo As Integer)
        Dim OutApp As Object
        Dim OutMail As Object
    
    
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    
    
        With OutMail
    
            .To = "recipient@domain.com"
            .Subject = "Test"
            .Body = "Body"
            Set .SendUsingAccount = OutApp.Session.Accounts.Item(accountNo)
            .Send
        End With
    End Sub
    
    0 讨论(0)
提交回复
热议问题