Sunday, July 7, 2013

Configuring Mail Services for Informatica PowerCenter

The illustration below explains the steps involved to install and configure email services for Informatica PowerCenter installed on a local machine. This is a step-by-step guide to send emails from Informatica PowerCenter email task or a command task using Cygwin.


The OS and software versions used for this illustration are as below:
1. Microsoft Windows XP SP3 (32-bit)
2. Microsoft Outlook 2007
3. Informatica PowerCenter 9.1.0 HotFix2
4. Cygwin Version 1.7.17
5. hMailServer Version 5.3.1-B1748


hMailServer is a free e-mail server for Microsoft Windows. It supports the common e-mail protocols (IMAP, SMTP and POP3) and can easily be integrated with many existing web mail systems. It has flexible score-based spam protection and can attach to your virus scanner to scan all incoming and outgoing email. This is a good option to use for configuring email services in absence of a Microsoft Exchange Server.


The Informatica PowerCenter Server and Clients, the mail server hMailServerCygwin and Microsoft Outlook are all installed on the same machine in this illustration. If the Informatica PowerCenter Server is installed on a machine other than the local machine, install hMailServer and Cygwin on the Informatica PowerCenter Server.


Before downloading, please verify if the software version is compatible with your Windows OS. The download links for hMailServer and Cygwin are below.
2. Cygwin


The installation and configuration steps shown below may differ for different versions of hMailServer and Windows OS.



Step 1 - Prerequisite Checks


  • Microsoft Outlook should be setup as the default email client on Windows in order for Informatica PowerCenter Email task to send emails. This can be setup from Start > Control Panel > Internet Options > Programs. Ensure that Microsoft Office Outlook is selected as the default email program on the Informatica PowerCenter Server as shown below.


  • Verify that the Informatica PowerCenter service is running without any issues and both the Repository and Integration services are up.
  • Port 25 is the default port used to transport or communicate email across the Internet using the SMTP protocol. Ensure that this port is not blocked or used by any other process on the Informatica PowerCenter Server. To check, if a port is in use on a Windows based system, the below command can be run in the command prompt.  
               netstat -ano
        -a: Displays all active connections and the TCP and UDP ports on which the computer is 
                   listening.
        -n: Displays active TCP connections, however, addresses and port numbers are expressed
                   numerically   and no attempt is made to determine names.
              -o: Displays active TCP connections and includes the process ID (PID) for each connection.

       If the hMailServer is already installed, the port 25 would be in use as shown below.


      The process that is using Port 25 is having a PID: 1200. The process can be found out in the
      Windows Task Manager as shown below.


  •  For using Cygwin, ensure that it is correctly installed on the Informatica server. Also, add the Cygwin bin path followed by a semicolon to the beginning of the Variable Value of the Path system variable in the Environment Variables. For instance, if Cygwin is installed on C drive, add the following path as explained above - C:\cygwin\bin;. This is needed to execute unix based commands from an Informatica command task through Cygwin. 


       Step 2 - Installing the hMailServer


  • Start the installation for hMailServer. Click Next to continue.


  • Accept the License Agreement as shown below. Click Next to continue.

  •  Select a folder on the local drive to install hMailServer as shown below. Click Next.


  • Select both the components to install as shown below. Click Next.

  • Use built-in database engine (Microsoft SQL Compact) as the default database server type. Click Next


  • Click Next to continue on the screen below.



  • Setup is ready to start installation in the destination folder. Click Install.



  • At the hMailServer Security screen, specify a password for hMailServer Administrator as shown below.



  • After the installation completes, ensure that the hMailServer service is started as shown below in Services.





Step 3 - Configuring the hMailServer


  • The configurations shown below in hMailServer Administrator are only those that are needed to send emails from Informatica PowerCenter.
  • After the setup completes, run the hMailServer Administrator as shown below.

  • Enter the password for hMailServer Administrator that was specified in the hMailServer Security screen as shown below.



  • The hMailServer Administrator initial screen is shown below.

  • Click on Domains on the left and click Add as shown below to add a domain.



  • Specify the domain name below the Domain text box. For this illustration, the domain name is "dataintegration.com". Click Save to register the domain in the hMailServer as shown below.



  • Next step is to add accounts to the hMailServer. For this illustration, we will create two accounts - "informatica" & "nelrick". The "informatica" account will be used by Informatica PowerCenter to send out emails. The "nelrick" account will be used to receive emails.
  • Click on Accounts on the left. Click Add as shown below to add a new account.



  • Enter "informatica" in the Address text box and specify a password as shown below. The password will be encrypted. Click Save to add the account.



  • Similarly, create a new account for "nelrick" as shown below.



  • In the tree view to the left, go to Settings > Protocols > SMTP. To the right, click on the Delivery of e-mail tab and specify the Local host name as shown below. For this illustration, this value is "localhost", else we can specify the computer name of the Informatica PowerCenter Server. Click Save.



  • Go to Run. Type services.msc to open Services. Restart the hMailServer service. This is needed to reflect the new configurations done to the hMailServer.



Step 4 - Configuring the Microsoft Outlook client to receive emails

  • Open Microsoft Outlook. Go to Tools > Account Settings.



  • Under the Email tab, click New to add an account to receive emails.

  • In the Add New E-mail Account screen as shown below, specify the account Name, E-mail Address and Password for "nelrick" while creating the "nelrick" account in the hMailServer.



  • Select the Manually configure server settings or additional server types check box and click Next to continue.



  • Select Internet E-mail radio button as shown below to connect to the hMailServer. Click Next.



  • In the Internet E-mail Settings, specify the Local host name added in the  Delivery of e-mail tab in hMailServer Administrator as the Incoming mail server and Outgoing mail server (SMTP) as shown below. The password in Logon Information will be the same as specified while creating the "nelrick" account in hMailServer. If the hMailServer is installed on a different server, we need to specify the computer name of that server in the Incoming mail server and Outgoing mail server (SMTP) text box.



  • Click Test Account Settings as shown above. The status should be Completed as shown below for both the tasks. This indicates that the "nelrick" account is configured to receive emails from the hMailServer.




  • Click Finish.





Step 5 - Configuring the Informatica Integration Service to send emails


  • Login to Informatica Administrator.



  • The below custom properties need to be added to the Integration Service to configure SMTP for use with Informatica PowerCenter email tasks.
Property name
Property value
SMTPServerAddress
SMTP Server name or IP address
SMTPPortNumber
SMTP server port (Default is 25)
SMTPFromAddress
From Email address for the emails.The email address should be available on the SMTP server.
SMTPServerTimeout
Optional - Integer representing seconds. Default is 20 seconds.


  • Click on the Integration Service (PowerCenter_IS is the Integration Service for this illustration) on the left. On the right, click on the Properties tab. Go to Custom Properties and click Edit as shown below to add new custom properties.



  • Click New to add the below Custom Properties.



  • Similarly, add all the other Custom Properties as shown below.

  • Click OK to close the Custom Properties window. Restart the Integration Service by clicking on Recycle Service as shown below.

  • The $PMSuccessEmailUser and $PMFailureEmailUser can be specified in the PowerCenter Integration Service Properties as shown below. These variables can directly be used in the email task instead of specifying the e-mail address of the recipient in the Email User Name Property value.




Step 5 - Creating an email task in Informatica Workflow Manager

  • Create a workflow with an email task as shown below.
  • In the email task, specify the Properties as shown below.

  • Start the workflow. If the email task succeeds, an email will be received in user nelrick's account as shown below.




Step 6 - Configuring email properties in Cygwin email configuration file

  • Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context.
  • For Cygwin to send emails, a new account "cygwin" is created in the hMailServer as shown below.

  • Assuming that Cygwin is already installed on the Informatica PowerCenter Server, launch a Cygwin Terminal session and type email-config. Enter the sender's email name as "cygwin" as shown below.

  • Next, enter the email address of the account created for "cygwin" in hMailServer Administrator as shown below.

  • Next, enter the recipient's email address (i.e. nelrick@dataintegration.com) as shown below.

  • Next, type 2 to use the SMTP server as shown below.

  • Next, enter the address of the SMTP server. If the SMTP server is same as the local machine, specify 127.0.0.1 as the IP as shown below else specify the correct IP address of the machine where the hMailServer is installed.

  • Next, enter the SMTP port number i.e. 25 as shown below.

  • Select 1 for SMTP authentication as shown below.

  • Select "false" to Use TLS as shown below.

  • Type Enter. The below message is displayed.

  • Verify if the data in the Cygwin email configuration is updated correctly with the values set above. The email.conf file is located in the ..\cygwin\etc\email folder. The contents of the email.conf file are shown below.

  • Send a test email from Cygwin by typing the below command as shown. If nelrick's account receives an email from cygwin email user, the configuration is completed correctly.



Step 7 - Creating a command task in Informatica Workflow Manager to send email

  • Create a workflow with a command task as shown below.
  • In the command task, use the below command to send a test email.

  • Start the workflow. If the command task succeeds, we should get an email as below.

4 comments:

  1. Hi Nelrick, the command task throws error when i run thro' Informatica {i.e., Start workflow: ERROR: Workflow [wk_Cmd_Email]: Could not start execution of this workflow because the current run on this Integration Service has not completed yet.}
    , but your above bash syntax works fine from Cygwin command liner. Pls input ur suggestions to make it thro' Infornatica as well...

    ReplyDelete
  2. Hi
    I'm using Unix as a server. I have set SMTP in unix as well as in IS. Still no success
    Not getting emails after success/failure of jobs.
    please reply

    ReplyDelete