Novell Home

SMTP Display Name Utility

Novell Cool Solutions: Cool Tool

Digg This - Slashdot This

In Brief

Construct SMTP Display on GWIA from eDirectory Attributes.

Vitals

Product Categories:
  • eDirectory
  • GroupWise
  • Posted:5 Mar 2003
    File Size:267KB
    License:Free
    Download:/coolsolutions/tools/downloads/smtp_display_name.zip
    Publisher:Fred McMullen

    Disclaimer

    Please read the note from our friends in legal before using this file.


    Details

    Many branches of the Government are becoming more and more concerned about being able to identify email users. While PKI and digital signatures are coming, the Army is already requiring that email Display Name fields identify the user as a Government employee or Contractor and what company they work for.

    This is a problem for GWIA, since the Display Name is automatically created from your username or First and Last name fields. With this utility, you can recreate the Display Name field on all outbound messages from other users property values in eDirectory.

    For example:

    A user EShinseki with a given name of Eric and surname of Shinseki Would normally have a GroupWise Display Name of

    "Eric Shinseki" <Eric.Shinseki@us.army.mil>

    This Utility could change it to:

    "GEN Eric Shinseki (Government/Army Chief of Staff)" <Eric.Shinseki@us.army.mil>

    A Contractor might show up as:

    "Mr. Fred McMullen (Contractor/CST Inc)" <Fred.McMullen@us.army.mil>

    Or with the Last Name order switch applied it would show up as:

    "McMullen, Mr. Fred (Contractor/CST Inc)" <Fred.McMullen@us.army.mil>

    This utility is pure Java and runs in the GWIA SMTP Service Queues. It requires the eDirectory schema to be extended and anonymous LDAP Access to eDirectory.

    SMTP Display Name Setup

    Schema Extension:

    This Utility requires the following LDAP attributes to work. Some of these are already in eDirectory and some will have to be added:
    givenName
    sn
    mail

    These attributes may have to be added.
    company
    isContractor
    employeeClassification
    personalTitle

    To Extend the Schema, launch the Schema Manager under the Tools Menu in ConsoleOne.

    Choose the Attributes TAB.

    Create the following four attributes with the following properties. Be sure to use the exact spelling and case for the attribute Names.

    company as Case Ignore String and Single Value, Synchronize Immediate and public read
    isContractor as Boolean and Synchronize Immediate and public read
    employeeClassification as Case Ignore String and Single Value, Synchronize Immediate and public read
    personalTitle as Case Ignore String and Single Value, Synchronize Immediate and public read

    If any of these attributes are already created, that's okay. It should still work.

    Please make sure the above attributes are correct before continuing.

    Now Click on the Classes TAB and find the User Class and click on the Info Button, Use the "Add Attribute" Button and add all the newly created attributes to the user class.

    Installing the Software

    Installing the software is the simplest part; simply unzip the SMTPDisplayName.zip on to the SYS Volume of your Netware server running GWIA. Then use ConsoleOne to create a SMTP Service Queue.

    To create the SMTP Service Queue, launch ConsoleOne and right click on the GWIA object and choose properties. Now find the "Server Directory Settings" TAB and then find and click on the "Advanced" button. Create a new directory somewhere on your GWIA server. I typically use VOL:\Domain\SMTPQ.

    Now setup your SMTPDisplayName Properties File in SYS:\JAVA\Applications directory.

    Set LdapHostName to your LDAP Host server. I suggest setting up your GWIA server To be your LDAP server.

    Set LdapSearchBase to the highest organization or organization unit that contains all your users

    Set SMTPQueuesDirectory to the Directory that normally handles your GWIA mail. Typically it is VOL:\Domain\WpGate\GWIA

    Set SMTPServiceQueuesDirectory to the new Service Queue directory that you created in the step above

    Use SMTPDomainName 1, 2 and 3 to list the valid email domains that match users in your tree

    Set OfficeTag to the default name for your Government Office

    Set useOfficeTag4Gov either as True or False to use the Office Tag Value set above

    Set useEDirEmployeeClass as True or False; When True employeeClassification value is used to construct the Display Name. If False the String "Government" or "Contractor" is Used

    Set LastNameOrder as True or False to choose Display Name order

    Set StatusInterval to the number of minutes between on screen status displays

    Set DebugMode as True or False to display address conversions on the screen

    Set ErrorLogDirectory to the directory you wish to write the error log to

    How it works

    You are all setup and ready to run. The Utility is really simple. Every outbound email is caught and filtered for the email header. If the email address's domain matches any domain listed in the properties file, it looks for the email address in the mail attribute of eDirectory. Once it finds the email user it uses the new attributes to build the new SMTP Display Name and add it back into the email. Then it passes it back to GWIA to mail.

    The properties work as follows:

    personalTitle is used for Ranks i.e. GEN, LTG, MG, BG, COL, LTC, MAJ, CPT, LT, etc
    or for Dr. Mr. Mrs. Ms etc

    employeeClassification is used for one of classifications like Military, Civilian, and Contractor

    company is used for the company name or Army Office name.

    isContractor is self-explanatory

    Now use ConsoleOne and find the "Other" TAB on user object. Add the attributes above and fill in the correct values for that user. When I get around to writing a ConsoleOne snapin, I will add it to this package, but for now you simply use the Other TAB.

    Operation

    To run the Utility, setup your SMTP Services Queues in GWIA and Exit and Restart GWIA. Then type SMTPDisplayName at the Console to launch the Utility. Once running, the Utility pulls from eDirectory and caches the user attributes. Every 10 minutes, it refreshes the eDirectory and re-reads the properties file. You can push 'F6' at the console at any time to schedule an immediate refresh from the properties file and eDirectory. Use the 'F7' followed by the 'F1' key to gracefully exit the utility.

    NOTE: When this utility is NOT running, no email is flowing in or out of GWIA.

    Updates

    3-5-03
    Fixed Keyboard entry problem and null pointer exception on bad formatted 822 MIME messages

    1-23-03
    Minor bug fix

    Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

    © 2014 Novell