в шаблон почты в code->database script в модуль 
Sub Postopen(Source As Notesuidatabase)
добавить
	'************************************
	'* Меняем домашнюю страницу
	'************************************
	Call InsDesignHP
	Call ChangeHP
	
'и собственно два модуля

Sub ChangeHP
	Dim s As New NotesSession
	Dim destdb As NotesDatabase
	Dim sourcedb As NotesDatabase
	Dim prof As NotesDocument
	Dim curdoc As NotesDocument
	Dim newdoc As NotesDocument
	Dim curHP As String
	Dim newHP As String
	Dim etHP As String
	
	Dim NC As NotesNoteCollection
	Dim curdisdoc As NotesDocument
	Dim destdisdoc As NotesDocument
	Dim noteid As String
	Dim vie As NotesView
	Dim dc As NotesDocumentCollection
	Dim var(1) As String
	
	On Error Resume Next
	Set destdb  = s.Getdatabase("", "bookmark.nsf", False) ' получаем базу пользователя
	
	' а это юнид нашей настройки
	etHP = "E2113B72532D23B846257D69001985AD"
	Set vie = destdb.Getview("(Layouts)")
	var(0) = "00000001"
	var(1) = "Corp"
	Set dc = vie.Getalldocumentsbykey(var, True)
	If dc.Count>1 Then dc.Removeall(True)
	' берем профиль настроек текущей страницы	
	Set prof = destdb.Getprofiledocument("currentlayout")
	' смотрим какая страница стоит	
	curHP = prof.GetItemValue("CurrentLayoutKey")(0)
'	MsgBox curHP
	Set curdoc = destdb.Getdocumentbyunid(curHP)
If curdoc Is Nothing Then
	Set sourcedb = s.GetDatabase("ezop","hp.nsf") ' получаем нашу базу с исходниками страницы
	If sourcedb Is Nothing Then 
		'		Msgbox "Нет источника"
		Exit Sub
	End If
	Set vie = sourcedb.Getview("(Layouts)")
	Set newdoc = vie.Getfirstdocument()
	
	Set newdoc = newdoc.Copytodatabase(destdb)
	' ну и собственно 	сносим текущую настройку, а нашей присваиваем ид стоявшей..
	' не знаю почему, но просто перепрописывать в профиль новый ИД грозит траблами((
	newHP = newdoc.UniversalID
	'	MsgBox newhp
	newdoc.UniversalID = etHP
	Call newdoc.ReplaceItemValue("ourcorp",etHP)
	Call newdoc.Save (True,False)	
	Call prof.Replaceitemvalue("CurrentLayoutKey", newdoc.UniversalID)
	Call prof.Save(True, False)

	Set newdoc = destdb.Getdocumentbyunid(newHP)
	Call newdoc.Remove(True)
Else
	' ечли уже нужная то не дергаемся
	If curdoc.ourcorp(0)=etHP And curdoc.title(0) = "$Corp" Then Exit Sub
	
	Set sourcedb = s.GetDatabase("ezop","hp.nsf") ' получаем нашу базу с исходниками страницы
	If sourcedb Is Nothing Then 
		'		Msgbox "Нет источника"
		Exit Sub
	End If
	Set vie = sourcedb.Getview("(Layouts)")
	Set newdoc = vie.Getfirstdocument()
	
	Set newdoc = newdoc.Copytodatabase(destdb)
	' ну и собственно 	сносим текущую настройку, а нашей присваиваем ид стоявшей..
	' не знаю почему, но просто перепрописывать в профиль новый ИД грозит траблами((
	Call curdoc.Copytodatabase(destdb)
	Set curdoc = destdb.Getdocumentbyunid(curHP)
	Call curdoc.Remove(True)
	newHP = newdoc.UniversalID
	'	MsgBox newhp
	newdoc.UniversalID = curHP
	Call newdoc.ReplaceItemValue("ourcorp",etHP)
	Call newdoc.Save (True,False)	
	Set newdoc = destdb.Getdocumentbyunid(newHP)
	Call newdoc.Remove(True)
End If

End Sub	

Sub InsDesignHP
	Dim s As New NotesSession
	Dim destdb As NotesDatabase
	Dim sourcedb As NotesDatabase
	
	Dim NC As NotesNoteCollection
	Dim curdisdoc As NotesDocument
	Dim destdisdoc As NotesDocument
	Dim tempdisdoc As NotesDocument	
	Dim noteid As String	
	Dim tempUNID As String	
	Dim curDT As New NotesDateTime ("")
	Dim destDt As New NotesDateTime ("")
	On Error Resume Next
	Set destdb  = s.Getdatabase("", "bookmark.nsf", False) ' получаем базу пользователя
	Set sourcedb = s.GetDatabase("ezop","hp.nsf") ' получаем нашу базу с исходниками страницы
	If sourcedb Is Nothing Or destdb Is Nothing Then 
		'		Msgbox "Нет источника"
		Exit Sub
	End If
'%REM	
	'******************************************
	'* Удаляем старые фреймы и страницы - CorpWP
'	MsgBox "Удаляем старые фреймы и страницы - CorpWP"
	Set nc = destdb.CreateNoteCollection(False)
	' Выбираем в базе только дизайн элементы необходимого нам вида	
	nc.SelectFrameSets = True
	nc.SelectPages = True
	nc.Selectforms = True
	Call nc.BuildCollection
	' и перекладываем то что навыбирали в базу пользователю	
	noteid = nc.GetFirstNoteId
	Do Until noteid = ""
		Set curdisdoc = destdb.GetDocumentByID(noteid)
		If curdisdoc.Getitemvalue("$TITLE")(0) = "CorpWP" Then Call curdisdoc.Remove(True)
		noteid = nc.GetNextNoteId(noteid)		
	Loop
	'*******************************************
'%END REM	
	
	Set nc = sourcedb.CreateNoteCollection(False)
	' Выбираем в базе только дизайн элементы необходимого нам вида	
	nc.SelectFrameSets = True
	nc.SelectPages = True
	nc.Selectforms = True
	nc.SelectImageResources = True
	Call nc.BuildCollection
	' и перекладываем то что навыбирали в базу пользователю	
	noteid = nc.GetFirstNoteId
	Do Until noteid = ""
		Set curdisdoc = sourcedb.GetDocumentByID(noteid)		
		Set destdisdoc = destdb.GetDocumentByUNID(curdisdoc.UniversalID)
		If (destdisdoc Is Nothing) Then 
			Set destdisdoc= curdisdoc.CopyToDatabase(destdb)
			tempUNID = destdisdoc.UniversalID
			destdisdoc.UniversalID=curdisdoc.UniversalID
			Call destdisdoc.Save(True,False)
			Set tempdisdoc = destdb.GetDocumentByUNID(tempUNID)
			Call tempdisdoc.Remove(True)
		Else
			
			
			curDT.LSLocalTime = curdisdoc.LastModified
			destDT.LSLocalTime=destdisdoc.LastModified
			
			If curDT.TimeDifference(destDT)>0 Then
'				Msgbox curDT.TimeDifference(destDT)
				Call destdisdoc.Remove(True)
				Set destdisdoc= curdisdoc.CopyToDatabase(destdb)
				tempUNID = destdisdoc.UniversalID
				destdisdoc.UniversalID=curdisdoc.UniversalID
				Call destdisdoc.Save(True,False)
				Set tempdisdoc = destdb.GetDocumentByUNID(tempUNID)
				Call tempdisdoc.Remove(True)
			End If
		End If
'		Msgbox curdisdoc.UniversalID + "|" + destdisdoc.UniversalID
		noteid = nc.GetNextNoteId(noteid)		
		Set destdisdoc=Nothing
		Set curdisdoc=Nothing
	Loop
End Sub