简体   繁体   中英

select which account to send outlook email from?

I have this code which sends out an email using outlook. I have multiple email accounts in outlook and I am trying to add in a way so i can tell it which email address to send it from? Can someone please show me how i can do this?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = Range("AS1").Column Then
  If Target.Row > 7 And Target.Value = "Send Email" Then
    Range("AU" & Target.Row).Value = Date
  End If
  End If

  If Target.Column = Range("CD1").Column Then
  If Target.Row > 7 And Target.Value = "Notify" Then

  Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    strbody = "Dear " & Range("AE" & ActiveCell.Row) & "," & vbNewLine & vbNewLine & _
              "This is an automated email, sent to you by the purchasing department." & vbNewLine & _
              "We have an update on the status of your New Supplier Request. Please see the information below." & vbNewLine & vbNewLine & _
              "Supplier Name: " & Range("B" & ActiveCell.Row) & vbNewLine & _
              "Supplier Reference Number: " & Range("AG" & ActiveCell.Row) & vbNewLine & _
              "Supplier Status: " & Range("D" & ActiveCell.Row) & vbNewLine & vbNewLine & _
              "Description:" & vbNewLine & _
              "We have successfully recieved your application and we have sent out our required documents to the supplier. Once these have been returned we will contact you with a further update. If you have any queries, please contact us at Purchasing@hewden.co.uk." & vbNewLine & vbNewLine & _
              "What does this mean?" & vbNewLine & _
              "We ask that all New Suppliers be registered to allow us to manage a more efficient supply chain. Right now you don't need to do anything else, we will contact the supplier and gather any additional information which we need. Please keep a note of your reference number in the event you should have any enquiries." & vbNewLine & vbNewLine & _
              "Kind Regards," & vbNewLine & _
              "Automated Purchasing Email"

    On Error Resume Next
    With OutMail
        .to = Range("AF" & ActiveCell.Row)
        .CC = "something@something.com"
        .BCC = ""
        .Subject = "New Supplier Request - Update"
        .Body = strbody
        'You can add a file like this
        '.Attachments.Add ("C:\test.txt")
        .Send   'or use .Display
    End With
    On Error GoTo 0



 End If
  End If


  End Sub

If you are using multiple POP3/SMTP accounts, set the MailItem.SendUsingAccount property to one of the accounts from the Namespace.Accounts collection.

If you are using Exchange, set the MailItem.SentOnBehalfOfName property - you must have an explicit permission to send on behalf of that user.

Try this

With OutMail
        .SentOnBehalfOfName = "YourEmailAccount@Email.com"
        .to = Range("AF" & ActiveCell.Row)
        .CC = "something@something.com"
        .BCC = ""
        .Subject = "New Supplier Request - Update"
        .Body = strbody
        'You can add a file like this
        '.Attachments.Add ("C:\test.txt")
        .Send   'or use .Display
    End With

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM