Skip to main content

Enable SSL for SMTPEmail component

If you need to enable SSL for your SMTP email server it's very easy to configure a couple of properties and let ATG handle the necessary configs and setup for the corresponding JavaMail

All you need to do is set the following properties in /atg/dynamo/service/SMTPEmail/:
emailHandlerPort=465 (the default SSL port for SMTP)
protocolName=smtps

And that's it, turn on the debug for SMTPEmail and you will see it is attempting an SSL connection:

**** debug      Mon Aug 03 17:05:22 CDT 2020    1596492322205   /atg/userprofiling/email/TemplateEmailSender    doSendEmailMessage: numMessages = 2
DEBUG: setDebug: JavaMail version 1.5.6
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle]
**** debug      Mon Aug 03 17:05:22 CDT 2020    1596492322215   /atg/dynamo/service/SMTPEmail   Attempting to open a connection...
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 465, isSSL true
DEBUG SMTP: EOF: [EOF]
DEBUG SMTP: could not connect to host "localhost", port: 465, response: -1

**** debug      Mon Aug 03 17:05:23 CDT 2020    1596492323434   /atg/dynamo/service/SMTPEmail   Connection failed on try 1 of 4.
**** debug      Mon Aug 03 17:05:23 CDT 2020    1596492323434   /atg/dynamo/service/SMTPEmail   Attempting to open a connection...
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 465, isSSL true
**** Error      Mon Aug 03 17:05:52 CDT 2020    1596492352208   /atg/dynamo/service/SMTPEmail   Could not open an SMTP connection


Of course, the log above is just for illustrative purpose, to depict the isSSL flag set to true

In case you wanna use another provider just use the default configured ones within META-INF/javamail.default.providers:

# JavaMail IMAP provider
protocol=imap; type=store; class=com.sun.mail.imap.IMAPStore; vendor=Oracle;
protocol=imaps; type=store; class=com.sun.mail.imap.IMAPSSLStore; vendor=Oracle;
# JavaMail SMTP provider
protocol=smtp; type=transport; class=com.sun.mail.smtp.SMTPTransport; vendor=Oracle;
protocol=smtps; type=transport; class=com.sun.mail.smtp.SMTPSSLTransport; vendor=Oracle;
# JavaMail POP3 provider
protocol=pop3; type=store; class=com.sun.mail.pop3.POP3Store; vendor=Oracle;
protocol=pop3s; type=store; class=com.sun.mail.pop3.POP3SSLStore; vendor=Oracle;

Comments

Post a Comment

Popular posts from this blog

Fix broken sequence on parent-child relationship tables for PUB schema

Whenever you find an error like this (for category-product relationship for example) ERROR [nucleusNamespace.atg.commerce.catalog.ProductCatalog-ver]  Error reading list or array index from the database. Expected: "0", got "1". The following property was not read: " {fixedChildProducts,pType=List,IDesc=[ItemDesc: category],table=dcs_cat_chldprd,cols=child_prd_id   ,pBI=atg.beans.MergedDynamicBeanInfo@5409e0ad,pIDesc=null   ,cType=interface atg.repository.RepositoryItem,cBI=[ItemDesc: product],cIDesc=[ItemDesc: product],colHandle=null}", for item id: "2350:36". This means the data base table holding this property does not have sequential integers starting with 0 in its multi-column. This should only happen if the database table was modifie d directly (outside of Dynamo).: java.lang.Exception It means sequence_num column doesn't contain a consecutive sequence number for the category on all of its products, this is, if category has

BCC Project Details With SQL Queries

Troubleshooting BCC projects can sometimes be a little tedious if you have to deal with the UI (someone mentioned flash?) while sifting through project assets, sometimes you just want to check if an asset exists on a given project, in what project was an asset updated, the history of a project, etc. etc. While BCC does a good job at presenting such data, sometimes it can get stuck depending on the number of assets it has or even the system resources. Feel free to use the following queries to soothe your pain a little bit:.

Configure LDAP SSO for BCC and Endeca Workbench

If you want to setup your BCC with a SSO server along with LDAP validation you can follow the next steps, this is all for OOTB configs: LDAP In Memory Server Feel free to clone and build:  https://github.com/kwart/ldap-server Then you can start it with:  java -jar ldap-server.jar -b 127.0.0.1 -p 10389 ldap_test.ldif Lastly, you can validate connectivity with this command:  ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -w secret Just make sure that you defined user and organization appropriately. CIM Setup SSO Run <ATG_ROOT>/home/bin/cim.sh Select options as follows: Platform-Guided Search Integration [8] Content Administration Choose Commerce AddOns: [4] Single Sign On (SSO) [D] Done [1] Commerce Only SSO Authentication [1] LDAP Server Authentication [1] Non-Switching Datasource Don't include demo application [2] Index by Product [A] Select Application Server [2] Weblogic Enter Weblogic home path: /your/weblogic/wlserver/path Enter domain path: /your/