How do I setup and use the Gmail SMTP server for WebSphere Commerce outbound e-mail messaging?
In general, the configuration depends on the SMTP server and as per the documentation of "Configuration of transport services used for a message" for the "E-mail adapter", where:
Host: Specify the fully qualified hostname or IP address of the SMTP server used to send the message.
Port: The SMTP port used to send the message. (In most systems this is 25)
Furthermore, initially after setting messaging with Gmail SMTP, you might receive SSL HANDSHAKE FAILURE errors resembling the following snippet:
[8/13/10 14:00:54:583 EDT] 00000032 WSX509TrustMa E CWPKI0022E: SSL HANDSHAKE FAILURE: A signer with SubjectDN "CN=smtp.gmail.com, O=Google Inc, L=Mountain View, ST=California, C=US" was sent from target host:port "null:null". The signer may need to be added to local trust store
"C:/IBM/WebSphere/AppServer/profiles/demo/config/cells/WC_demo_cell/nodes/WC_demo_node/trust.p12" located in SSL configuration alias "NodeDefaultSSLSettings" loaded from SSL configuration file "security.xml". The extended error message from the SSL handshake exception is:
"PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: java.security.cert.CertPathValidatorException: The certificate issued by OU=Equifax Secure Certificate Authority, O=Equifax, C=US is not trusted; internal cause is: java.security.cert.CertPathValidatorException: Certificate chaining error".
Using the WebSphere Commerce Administration console, you can setup the e-mail messaging Transport to use the following configuration settings for the SMTP server as per Gmail documentation:
Port: 465 to use TCP (SSL)
In case of SSL HANDSHAKE FAILURE, use the WebSphere Application Server Administration console to resolve the CWPKI0022E error and SSL HANDSHAKE FAILURE from the following location:
Security > SSL certificate and key management > Key stores and certificates > NodeDefaultTrustStore > Signer certificates > Retrieve from Port
Enter the Host and Port of the Gmail SMTP server. The wizard registers the certificate for you.