| Author |  | 
      
        | romanovi4 Newbie
 
  
 
 Joined: 13 April 2022
 Location: Germany
 Online Status: Offline
 Posts: 8
 | 
          Hello,
           | Posted: 09 August 2022 at 2:07am | IP Logged |   |  
           | 
 |  
 i try to send a mail with access token from vbs-script. I use the client credentials flow to get the access token because the script will be run in background via scheduler. Fetching of access token works well. But send the mail doesn't work. Please review a sample code (based on mailbee example) - what is wrong?
 
 ----------------- Code ------------------------
 MicrosoftSendEmailURL = "https://outlook.office.com/api/v2.0/users/" & MicrosoftUserEmail & "/sendmail"
 
 DataToSend = "client_id=" & MicrosoftClientId & "&client_secret=" & MicrosoftClientSecret & "&grant_type=client_credentials&scope=https%3A%2F%2Foutlook.office365.com%2F.default"
 Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
 XMLHTTP.Open "POST", "https://login.microsoftonline.com/" & MicrosoftTenantId & "/oauth2/v2.0/token", False
 XMLHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
 XMLHTTP.Send DataToSend
 JsonResponseString = XMLHTTP.ResponseText
 MsgBox "JSON response:" & vbCrLf & JsonResponseString
 Set JsonParser = New VbsJson
 Set ParsedJson = JsonParser.Decode(JsonResponseString)
 AccessToken = ParsedJson("access_token")
 MsgBox "AccessToken: " & AccessToken
 
 ' This is just for debugging purposes, the code below never reads token.json
 Set Msg = CreateObject("MailBee.Message")
 Msg.WriteStringToFile "C:\Temp\token.json", JsonResponseString
 
 ' Send email to myself
 ' AuthMethod: 8 - OAuth, 2 - Normal
 Set SMTP = CreateObject("MailBee.SMTP")
 SMTP.EnableLogging = True
 SMTP.LogFilePath = MailBeeSmtpLogFilePath
 SMTP.ClearLog
 SMTP.LicenseKey = MailBeeLicenseKey
 SMTP.ServerName = "smtp.office365.com"
 SMTP.PortNumber = 587
 SMTP.AuthMethod = 8
 SMTP.SSL.UseStartTLS = True
 SMTP.SSL.Protocol = 6
 SMTP.UserName = MicrosoftUserEmail
 SMTP.Password = AccessToken
 SMTP.FromAddr = MicrosoftUserEmail
 SMTP.Message.Subject = "Test email"
 SMTP.Message.BodyText = "Test email"
 If SMTP.Send Then
 MsgBox "Email sent"
 Else
 MsgBox "ErrCode=" & SMTP.ErrCode & ", " & SMTP.ErrDesc
 End If
 --------------------------------------------
 
 ------------------ LOG ---------------------
 10:40:54 [MailBee SMTP v9.4.0.263. Registered version]
 10:40:54 [Connecting to server smtp.office365.com at port 587 using default domain]
 10:40:54 [Domain not specified, using local host name]
 10:40:54 [Entering ESMTP authentication mode]
 10:40:54 [Sending EHLO]
 10:40:54 [Switching to SSL over regular port mode]
 10:40:54 [Initiating SSL Connection]
 10:40:54 [Sending EHLO]
 10:40:54 [Using XOAUTH2 ESMTP authentication]
 10:40:54 [Sending encoded XOAUTH2 Request]
 10:41:00 [Error: Negative or void server response]
 10:41:00 [Server responded: 535 5.7.3 Authentication unsuccessful [AM5PR0601CA0057.eurprd06.prod.outlook.com]\r\n]
 10:41:00 [Possible error reason: incorrect UserName and/or OAuth2 access token]
 10:41:00 [Error: Connection failure]
 --------------------------------------------
 
 Best regards
 | 
       
        | Back to Top |     | 
       
       
        |  | 
        | Alex AfterLogic Support
 
  
  
 Joined: 19 November 2003
 Online Status: Offline
 Posts: 2207
 | 
          Hello,
           | Posted: 09 August 2022 at 3:35am | IP Logged |   |  
           | 
 |  
 We never had client credentials flow to work with Office 365. Last time we tried, Office 365 didn't support that. This has nothing to do with MailBee itself as MailBee does not generate tokens, it only consumes them.
 
 I heard they changed this policy recently so there is a chance now credentials flow can be used somehow but how exactly its gonna work - it's subject to further research.
 
 Regards,
 Alex
 | 
       
        | Back to Top |     | 
       
       
        |  | 
        | romanovi4 Newbie
 
  
 
 Joined: 13 April 2022
 Location: Germany
 Online Status: Offline
 Posts: 8
 | 
          Yes, i took the example code with user credentials. And i try to addapt this example to my flow.
           | Posted: 09 August 2022 at 4:33am | IP Logged |   |  
           | 
 |  | 
       
        | Back to Top |     | 
       
       
        |  |