Home > Domino Tips > Administrator > Mail > Populate group Internet addresses
Domino Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

MAIL

Populate group Internet addresses


Steve Holman
10.24.2001
Rating: -2.90- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Do you have a lot of groups in your NAB? Do you have users who would like to send Internet mail to these groups from outside your Notes Domain? We did but had a slight problem. We had group names with spaces, which does not work well with Internet Mail. Also, we had thousands of groups and to manually populate the R5 Internet Address Field for all of our groups would take forever. So, I wrote some code that would handle it for us. The code is not very difficult really, just very monotonous. Here is what the code will do:

1. Look at the group document and get the name of the group.
2. Try to create an Internet Address for the group using the name.
3. If the name contains spaces then it will use an Internet standard for the naming convention.
4. The code can handle a group name with up to 6 spaces in it.
5. The naming convention for the Internet address is as follows:

No spaces
Group Name: SteveHolman
Internet Address: SteveHolman@domain.com

1 Space
Group Name: Steve Holman
Internet Address: Steve.Holman@domain.com

2 Spaces
Group Name: Steve Ray Holman
Internet Address: Steve_Ray.Holman@domain.com

3 spaces
Group Name: Steve Ray Holman Jr
Internet Address: Steve_Ray_Holman.Jr@domain.com

etc. Basically the last word will have a "." dot in front of it and any preceding spaces will be replaced by "_" underscores. This allows for a SMTP RFC Standard Internet mail address.

Code modifications you will need to make:

1. Change the domain variable in the code to equal your domain name in the format "@domain.com"
2. Change the line that reads Set db = session.GetDatabase("DOMHUB1","names.nsf") to have your server name rather than "DOMHUB1".
3. The agent is set to run manually from the agent list, you can set it to run scheduled but will need to change the same line from "DOMHUB1" to "".
4. We put the agent in the NAB itself, but you can put it anywhere on the server.

Thanks,

Steve Holman
Wachovia Bank, NA



Code

'***********************************************************************************
'Program Name: PopulateGroupInternetAddresses
'Date: 09/17/2001
'Coded By: Steve Holman
'File Name: appsopsmassmail.nsf
'Program Description: This code will set all groups in the NAB with a valid Internet Address.
'Development Environment: R5 Designer

'*************************************************************************************

Sub Initialize
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	Dim item As NotesItem
	Dim grpname As NotesItem
	Dim itemtext As String
	Dim grpnametext As String
	Dim substring As String
	Dim substring2 As String
	Dim substring3 As String
	Dim substring4 As String
	Dim substring5 As String
	Dim substring6 As String
	Dim fname As String
	Dim mi As String
	Dim mi2 As String
	Dim mi3 As String
	Dim mi4 As String
	Dim mi5 As String
	Dim domain As String
	Dim pos As Integer
	Dim length As Integer
	Dim pos2 As Integer
	Dim pos3 As Integer
	Dim pos4 As Integer
	Dim pos5 As Integer
	Dim pos6 As Integer
	Dim pos7 As Integer
	Dim pos8 As Integer
	Dim pos9 As Integer
	Dim pos10 As Integer
	Dim pos11 As Integer
	Dim pos12 As Integer
	Dim length2 As Integer
	Dim length3 As Integer
	Dim length4 As Integer
	Dim length5 As Integer
	Dim length6 As Integer
	
	domain = "@wachovia.com"
	
	Set db = session.GetDatabase("DOMHUB1","names.nsf")
	Set view = db.GetView("Groups")
	Set doc = view.GetFirstDocument
	Do While Not(doc Is Nothing)
		Set item = doc.GetFirstItem("InternetAddress")
		If Not(item Is Nothing) Then
			itemtext = item.Text
		End If
		If itemtext = "" Then
			Set grpname = doc.GetFirstItem("ListName")
			grpnametext = grpname.Text
			length = Len(grpnametext)
			pos = Instr(1,grpnametext," ")
			If pos = 0 Then
				Set item = doc.ReplaceItemValue("InternetAddress", grpnametext + domain)
			Else
				pos2 = length - pos
				substring = Right(grpnametext,pos2)
				fname = Left(grpnametext, pos -1)
				pos3 = Instr(1,substring," ")
				If pos3 = 0 Then
					Set item = doc.ReplaceItemValue("InternetAddress", 
fname + "." + substring + domain) Else length2 = Len(substring) pos4 = length2 - pos3 substring2 = Right(substring, pos4) mi = Left(substring, pos3 -1) pos5 = Instr(1,substring2," ") If pos5 = 0 Then Set item = doc.ReplaceItemValue("InternetAddress",
fname + "_" + mi + "." + substring2 + domain) Else length3 = Len(substring2) pos6 = length3 - pos5 substring3 = Right(substring2, pos6) mi2 = Left(substring2, pos5 -1) pos7 = Instr(1,substring3, " ") If pos7 = 0 Then Set item = doc.ReplaceItemValue("InternetAddress",
fname + "_" + mi + "_" + mi2 + "." +
substring3 + domain) Else length4 = Len(substring3) pos8 = length4 - pos7 substring4 = Right(substring3, pos8) mi3 = Left(substring3, pos7 -1) pos9 = Instr(1,substring4," ") If pos9 = 0 Then Set item = doc.ReplaceItemValue("InternetAddress",
fname + "_" + mi + "_" + mi2 + "_" + mi3 + "." +
substring4 + domain) Else length5 = Len(substring4) pos10 = length5 - pos9 substring5 = Right(substring4, pos10) mi4 = Left(substring4, pos9 - 1) pos11 = Instr(1,substring5," ") If pos11 = 0 Then Set item = doc.ReplaceItemValue("InternetAddress",
fname + "_" + mi + "_" + mi2 + "_" + mi3 + "_" +
mi4 + "." + substring5 + domain) Else length6 = Len(substring5) pos12 = length6 - pos11 substring6 = Right(substring5, pos12) mi5 = Left(substring5, pos11 - 1) Set item = doc.ReplaceItemValue("InternetAddress",
fname + "_" + mi + "_" + mi2 + "_" + mi3 + "_" + mi4 + "_" +
mi5 + "." + substring6 + domain) End If End If End If End If End If End If End If pos = 0 pos2 = 0 pos3 = 0 pos4 = 0 pos5 = 0 pos6 = 0 pos7 = 0 pos8 = 0 pos9 = 0 pos10 = 0 pos11 = 0 pos12 = 0 length = 0 length2 = 0 length3 = 0 length4 = 0 length5 = 0 length6 = 0 itemtext = "" Call doc.Save(True,True) Set doc = view.GetNextDocument(doc) Loop End Sub

Rate this Tip
To rate tips, you must be a member of SearchDomino.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Mail
Run or restart Notes/Domino agents via text messages
How to create mail files using a LotusScript agent
How to turn off the message recall feature in Lotus Notes 8
Domino server setting and email policy tricks admins must know
Top 10 Lotus Notes/Domino administration tips of 2008
Understanding a Lotus Notes Smart Upgrade rollout
Bringing MailRule documents back into view
Use SMTP outbound authentication to relay hosts in Lotus Notes Domino 8
Notes/Domino 6 version of 'Discover Folder'
Five tips to improve email performance

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Domino & Lotus Notes Security Solutions: Authentication, Antispam, Encryption and Antivirus
HomeTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersDomino IT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts