Exchange 2010 ile beraber kullanıcıların Active Directory bilgilerini kullanarak dinamik imza oluşturmak mümkün veya üçüncü parti bir yazılımla (ki Codetwo'nun Exchange Rules 2010 yazılımı bu konuda takdire şayandır) aynı şeyi daha farklı seçeneklerle yapabilirsiniz.
Bahsedeceğim uygulamada ise bu ortamların olmadığını varsaydım.
Aşağıdaki VBS'i GPO üzerinden Logon Script ile kullanıcılarda çalıştırarak Outlook'da imza oluşturabilirsiniz. VBS, imzaları oluşturarak Outlook'da varsayılan hesabın Yeni E-Posta ve Yanıtla/İlet seçeneklerine ekliyor.
Temel user bilgilerini alarak bir template oluşturdum. Bir user hesabında ad soyad, görev ve e-posta olmazsa olmaz... Sadece user bilgilerinin bazılarında, Pager bölümünde, kullanıcıların Skype adresinin yazdığını varsaydım. Bu seçeneğin if döngüsünde olduğunu göreceksiniz. Bu şekilde her user hesabında olmayan ama imzada kullanmanız gereken bir bilgi varsa bu şekilde ekleyebilirsiniz.
Eğer imza üzerindeki statik bilgilerde bir ayrıma gidilecekse (örn: telefon, faks numalarını herkes için ortak kabul edip elle yazdım) en uygun çözüm departmanlara göre ayrılmış bir OU yapısında, bu VBS'i ayrı ayrı OU'lara uygulamak. Genellikle imza kullanımlarındaki ayrım departmanlara göre değişiklik gösterir, ufak bir tecrübedir; değişebilir. :)
Not: VBS içerisindeki statik yazdığım ad soyad, görev, e-posta adresi kısımlarını comment out edip diğerlerini aktif edersiniz. HTML'nin belli yerleri URL ve FİRMA ADI gibi tamamlanası bırakılmıştır. Genele yaymadan önce üzerinizde prova ediniz.
On Error Resume Next Set objSysInfo = CreateObject("ADSystemInfo") strUser = objSysInfo.UserName Set objUser = GetObject("LDAP://" & strUser) 'strName = objUser.FullName strName = "Orhan Yılmaz" 'strTitle = objUser.Title strTitle = "Kozmonot" 'strEmail = objUser.Mail strEmail = "orhan.yilmaz@nsa.com" 'strPager = objUser.Pager strPager = "orhan" Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add() Set objSelection = objWord.Selection Set objEmailOptions = objWord.EmailOptions Set objSignatureObject = objEmailOptions.EmailSignature Set objSignatureEntries = objSignatureObject.EmailSignatureEntries objSelection.TypeText strName objSelection.TypeText(Chr(11)) objSelection.TypeText strTitle Dim objFSO, objWsh, appDataPath, pathToCopyTo, plainTextFile, plainTextFilePath, richTextFile, richTextFilePath, htmlFile, htmlFilePath Set objFSO = CreateObject("Scripting.FileSystemObject") Set objWsh = CreateObject("WScript.Shell") appDataPath = objWsh.ExpandEnvironmentStrings("%APPDATA%") pathToCopyTo = appDataPath & "\Microsoft\Signatures\" htmlFilePath = pathToCopyTo & "YeniEPosta.htm" Set htmlFile = objFSO.CreateTextFile(htmlFilePath, TRUE) htmlfile.WriteLine("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">") htmlfile.WriteLine("<html>") htmlfile.WriteLine("<head>") htmlfile.WriteLine("<meta http-equiv=""content-type"" content=""text/html; charset=iso-8859-9"">") htmlfile.WriteLine("<title></title>") htmlfile.WriteLine("</head>") htmlfile.WriteLine("<body>") htmlfile.WriteLine("<div style=""font-family: arial, tahoma, verdana; color: black;"">") htmlfile.WriteLine("<img alt=""FIRMA ADI"" src=""http://URL/logo.jpg"" width=""100"" height=""50"" /><br />") htmlfile.WriteLine("<br />") htmlfile.WriteLine("<span style=""font-size: 13px; font-weight: bold;"">" & strName & "</span><br />") htmlfile.WriteLine("<span style=""font-size: 13px; font-weight: bold;"">" & strTitle & "</span><br />") htmlfile.WriteLine("<br />") htmlfile.WriteLine("<a href=""mailto:" & strEmail & """ style=""color: blue; font-weight: normal; font-size: 12px;"">" & strEmail & "</a>") htmlfile.WriteLine("<table cellpadding=""0"" cellspacing=""0"" border=""0"" style=""font-family: arial, tahoma, verdana; font-size: 12px; color: black;"">") htmlfile.WriteLine("<tr>") htmlfile.WriteLine("<td>Tel</td>") htmlfile.WriteLine("<td> : </td>") htmlfile.WriteLine("<td>+90 212 111 1111</td>") htmlfile.WriteLine("<tr>") htmlfile.WriteLine("<td>Fax</td>") htmlfile.WriteLine("<td> : </td>") htmlfile.WriteLine("<td>+90 212 222 2222</td>") htmlfile.WriteLine("</tr>") if strPager=Empty then htmlfile.WriteLine("") else htmlfile.WriteLine("<tr>") htmlfile.WriteLine("<td>Skype</td>") htmlfile.WriteLine("<td> : </td>") htmlfile.WriteLine("<td><a href=""Skype:" & strPager & "?add"">" & strPager & "</a></td>") htmlfile.WriteLine("</tr>") end if htmlfile.WriteLine("</table>") htmlfile.WriteLine("<br /><span style=""font-size: 11px;"">") htmlfile.WriteLine("Firma Adi<br />") htmlfile.WriteLine("Adres<br />") htmlfile.WriteLine("<a href=""http://URL"" style=""color: blue;"">www.firmaadi.com</a><br />") htmlfile.WriteLine("<br />") htmlfile.WriteLine("</span>") htmlfile.WriteLine("</div>") htmlfile.WriteLine("</body>") htmlfile.WriteLine("</html>") Set objSelection = objDoc.Range() objSignatureEntries.Add "YanitIlet", objSelection objSignatureObject.NewMessageSignature = "YeniEPosta" objSignatureObject.ReplyMessageSignature = "YanitIlet" objDoc.Saved = True objWord.Quit
0 yorum:
Yorum Gönder