BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
grudos20
Obsidian | Level 7

Hello guys.
I deployed SAS 9.4M7 on linux, everything seems to be set up correctly. When deploying SAS specified the required parameters as specified in this document:
https://documentation.sas.com/doc/en/webeditorcdc/3.8/webeditorag/p0dwihvzcwztuzn1g9l7ke2v1txj.htm

But when launching campaigns, notifications are not received, my colleagues do not see calls from the middle server to the mail server. In the business context settings, CIS unchecked the "disable notification system" checkbox. I turned on notifications for all stages of launching campaigns, specified recipients, in the campaign I also checked that the notification settings are enabled.
But notifications are not received.

I checked with SAS EG whether notifications were coming, ran the following query:

data null;
proc sql;
select put(CHECK_SYSDATE,datetime9.)
into : date_check TRIMMED 
from cdm.hello_outbox;
quit;

filename outbox email
    to=('my_mail@prod.ro')
			CC=('my_mail2@prod.ro')
        	subject='Hello' 
          	;
data; 
file outbox;
put "&date_check.";
put " ";
run;

And I get a message.

Please tell me where to look for settings or other ideas.

1 ACCEPTED SOLUTION

Accepted Solutions
grudos20
Obsidian | Level 7

The problem turned out to be allowing unauthorized communication between servers, so that communication occurs without authorization and without confirmation.
Accordingly, when the campaign was running on the MA server, an attempt was made to send a message to the middle server, and here we all see that the server did not receive a login and password from another server.
I hope I explained it clearly, I'm not a Linux administrator, so I advise those who have a similar problem to contact their specialist

View solution in original post

10 REPLIES 10
gwootton
SAS Super FREQ
The email functionality of base SAS you use when running the program in Enterprise Guide gets its email configuration from SAS options. The middle tier gets these settings differently, so it's possible that sending an email from SAS code would work, while a function to send email in a middle tier application would fail. I believe the relevant documentation can be found here:

SAS 9.4 Administration - Middle Tier Administration Guide - SMTP Mail Server
https://go.documentation.sas.com/doc/en/bicdc/9.4/bimtag/n1fpiezp819c6mn1iy2aq5q9oau2.htm
--
Greg Wootton | Principal Systems Technical Support Engineer
grudos20
Obsidian | Level 7

Hello gwootton, thanks for your reply.

I read the instructions, I had already come across it before, I have it set up exactly as it is written in the documentation.
Here is a screenshot from the middle tier configuration file

grudos20_0-1651649617721.png

I would like to find a file where there are smtp settings on other servers and compare with the middle tier settings, but so far I have not been able to find them.

 

gwootton
SAS Super FREQ
Is this how it appears in all server.xml files? You could try setting mail.debug to true and checking the web app server logs after doing something that should trigger an email.

You can also compare your settings in server.xml to those in SAS that are working by running proc options group=email; run;.
--
Greg Wootton | Principal Systems Technical Support Engineer
grudos20
Obsidian | Level 7

I checked the server.xml file only on the middle tier, on other servers I don't see the server.xml file

Do you suggest adding mail.debug=true to the server.xml file?

 

Request result

25         GOPTIONS ACCESSIBLE;
26         proc options group=email; run;

    SAS (r) Proprietary Software Release 9.4  TS1M7


Group=EMAIL
 EMAILACKWAIT=30   Specifies the number of seconds to wait for the SMTP server acknowledgement.
 EMAILAUTHPROTOCOL=NONE
                   Specifies the SMTP e-mail authentication protocol.
 NOEMAILFROM       Does not require the FROM e-mail option when sending e-mail by using the FILE or FILENAME statements.
 EMAILHOST=smtp.prod.ro
                   Specifies one or more domain names for SMTP e-mail servers.
 EMAILID=          Specifies the SAS user's logon ID, profile or e-mail address.
 EMAILPORT=25      Specifies the port number for the SMTP e-mail server that is specified in the EMAILHOST option.
 EMAILPW=XXXXXXXX  Specifies the password for the e-mail address specified by the EMAILID option.
 EMAILUTCOFFSET=   For SMTP e-mail sent using the FILENAME statement, specifies a UTC offset that is used in the Date header field 
                   of the e-mail message.
 EMAILSYS=SMTP     Specifies the email protocol that is used for sending electronic mail.

Everything seems to fit

gwootton
SAS Super FREQ
I'm sorry for the confusion, I was referring to the server.xml file for any other web application servers on the middle tier host(s), e.g. SASServerX_Y.

Based on the code output it doesn't look like you are authenticating to the SMTP server so I don't think you need the mail.user, mail.password, or mail.smtp.auth options.

Yes I was proposing setting mail debug to true in the server.xml file, though it might be worth checking to see if there are any errors indicating the issue without debug being set too.
--
Greg Wootton | Principal Systems Technical Support Engineer
grudos20
Obsidian | Level 7

I checked the server.xml file on all webApp servers, the data matches.

In the logs .../SASConfig/Lev1/Web/Logs/SASServer6_1/SASCustIntelCore6.6.log, I do not see any errors about connecting to the mail server or problems with sending notifications. Maybe I'm looking at the wrong log?

A full restart of SAS will be required to successfully modify the server.xml file. I will do it another time when I have the opportunity.

I noticed that my logical connect server is not validating. Can this affect the successful sending of notifications?
I have not yet figured out why logical connect server is not validated for me.

grudos20_0-1651668104038.png

 

gwootton
SAS Super FREQ
I would also check the catalina.out and server.log files in <SASConfig>/Lev1/Web/WebAppServer/SASServerX_Y/logs.

The Connect Server would not be related to email notifications being sent from the middle tier.
--
Greg Wootton | Principal Systems Technical Support Engineer
grudos20
Obsidian | Level 7

Dear friend, thanks for your help.

 

I've looked at all the catalina.out files and see the same recurring error

In search of a solution to the problem, I did not come to success

Attached are the error lines

Could not load Logmanager "com.springsource.tcserver.serviceability.logging.TcServerLogManager"
java.lang.ClassNotFoundException: com.springsource.tcserver.serviceability.logging.TcServerLogManager
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at java.util.logging.LogManager$1.run(LogManager.java:195)
	at java.util.logging.LogManager$1.run(LogManager.java:181)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.util.logging.LogManager.<clinit>(LogManager.java:181)
	at java.util.logging.Logger.demandLogger(Logger.java:448)
	at java.util.logging.Logger.getLogger(Logger.java:502)
	at org.apache.juli.logging.impl.Jdk14Logger.getLogger(Jdk14Logger.java:164)
	at org.apache.juli.logging.impl.Jdk14Logger.<init>(Jdk14Logger.java:55)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.apache.juli.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1025)
	at org.apache.juli.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:844)
	at org.apache.juli.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541)
	at org.apache.juli.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292)
	at org.apache.juli.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269)
	at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:657)
	at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:51)

I will also post logs from each SASServerX_Y


Please see what can be done to fix it?

gwootton
SAS Super FREQ
Have you engaged SAS Technical Support yet? I see warnings in your SASServer6 log saying it can't find a file called "sas.email.rmi.jar"
--
Greg Wootton | Principal Systems Technical Support Engineer
grudos20
Obsidian | Level 7

The problem turned out to be allowing unauthorized communication between servers, so that communication occurs without authorization and without confirmation.
Accordingly, when the campaign was running on the MA server, an attempt was made to send a message to the middle server, and here we all see that the server did not receive a login and password from another server.
I hope I explained it clearly, I'm not a Linux administrator, so I advise those who have a similar problem to contact their specialist

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

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.

Discussion stats
  • 10 replies
  • 2966 views
  • 1 like
  • 2 in conversation