Hello community,
i try to send an email from a Microsoft Office 365 account from a SAS programm via SMTP over an SMTP relay.
Setup: i followed the documentation for "Option 3" (https://docs.microsoft.com/en-us/Exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-dev... ).
The other options will not work for us.
All technical aspects of the connection are fullfilled. I can successfully send an email from the SAS server over the gateway via powershell.
If i try to send the email from SAS code with the same settings i get an error:
ERROR: Login failure
ERROR: Email: 504 5.7.4 Unrecognized authentication type [BE0DEU01FT015.eop-deu01.prod.protection.outlook.com]
This is the code i use:
options emailhost=("xxx.mail.protection.outlook.com"
AUTH=LOGIN STARTTLS PORT=25
PWD="xxx" USERID="xxx@mydomain.com" );
Filename EmailOut Email
From = "xxx@mydomain.com"
To = "me@someotherdomain.com"
Subject = "test from SAS"
debug
;
Data _NULL_;
File EmailOut;
Put "test";
Run;
This is the full SMTP communication:
R: 220 FR2DEU01FT017.mail.protection.outlook.com Microsoft ESMTP MAIL Service ready at Fri, 16 Oct 2020 08:52:03 +0000
S: EHLO test.mydomain.com
R: 250-FR2DEU01FT017.mail.protection.outlook.com Hello [13.80.23.30]
R: 250-SIZE 157286400
R: 250-PIPELINING
R: 250-DSN
R: 250-ENHANCEDSTATUSCODES
R: 250-STARTTLS
R: 250-8BITMIME
R: 250-BINARYMIME
R: 250-CHUNKING
R: 250 SMTPUTF8
S: STARTTLS
R: 220 2.0.0 SMTP server ready
S: EHLO test.mydomain.com
R: 250-FR2DEU01FT017.mail.protection.outlook.com Hello [13.80.23.30]
R: 250-SIZE 157286400
R: 250-PIPELINING
R: 250-DSN
R: 250-ENHANCEDSTATUSCODES
R: 250-8BITMIME
R: 250-BINARYMIME
R: 250-CHUNKING
R: 250 SMTPUTF8
S: AUTH LOGIN
R: 504 5.7.4 Unrecognized authentication type [FR2DEU01FT017.eop-deu01.prod.protection.outlook.com]
ERROR: Login failure
ERROR: Email: 504 5.7.4 Unrecognized authentication type [FR2DEU01FT017.eop-deu01.prod.protection.outlook.com]
For me it looks like SAS does not correctly implement the SMTP protocol and cannot process the response from the MS Outlook server.
I also tried different SAS emailhost options including the use of SSL instead of STARTTLS. Nothing worked.
Has anybody successfully used the Office 365 SMTP gateway or an idea how i can fix the problem?
Thank you in advance!
Andreas
Thank you all for the feedback (except the Microsoft rant).
In the meantime i set up an local email relay with postfix on the SAS server (if anybody is interested here is a manual:https://www.middlewareinventory.com/blog/postfix-relay-office-365/).
This solution works perfectly when i connect from SAS to localhost:25 and postfix does the heavy lifting.
here is the code
$cred = Get-Credential Send-MailMessage -To "me@someotherdomain.com" -Subject "test" -Body "test" -SmtpServer "xxx.mail.protection.outlook.com" -From "xxx@mydomain.com" -Credential $cred -Port 25 -UseSsl
So you test a MS server with a MS client. Given the long and deep history of MS doing subtle changes to standards and protocols so only their software works with their environments, I would suspect that this is another case of MS software not fully complying with standards. AKA vendor-lock-in.
After all, it is the server that rejects the authentication type sent by SAS. And I am quite confident that this part of the FILENAME EMAIL (which is quite old now) has been thoroughly tested with standard-complying servers.
Anyway, this is something that SAS TS should look into, so I recommend to open a track with them.
Hi @AndreasMenrath ,
a couple of little, perhaps silly questions.
1- are you sure you need to use port 25 and not 587 or another?
2- did you download the public certificates from the SMTP server and added them to your SAS Private Java Runtime Environment certificate store? Otherwise, I see hard that the SAS JVM client will be able to handshake TLS with the SMTP server.
@JuanS_OCS From the responses
S: STARTTLS R: 220 2.0.0 SMTP server ready S: EHLO test.mydomain.com R: 250-FR2DEU01FT017.mail.protection.outlook.com Hello [13.80.23.30] R: 250-SIZE 157286400 R: 250-PIPELINING R: 250-DSN R: 250-ENHANCEDSTATUSCODES R: 250-8BITMIME R: 250-BINARYMIME R: 250-CHUNKING R: 250 SMTPUTF8
I take it that the STARTTLS worked, and the problem arises later here:
S: AUTH LOGIN R: 504 5.7.4 Unrecognized authentication type [FR2DEU01FT017.eop-deu01.prod.protection.outlook.com]
Thank you all for the feedback (except the Microsoft rant).
In the meantime i set up an local email relay with postfix on the SAS server (if anybody is interested here is a manual:https://www.middlewareinventory.com/blog/postfix-relay-office-365/).
This solution works perfectly when i connect from SAS to localhost:25 and postfix does the heavy lifting.
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.
Find more tutorials on the SAS Users YouTube channel.