Makale numarası: 948321 - Son Gözden Geçirme: 20 Ekim 2008 Pazartesi - Gözden geçirme: 2.0

Microsoft Office SharePoint Server'da bir özel e-posta işleyicisi uyarı oluşturma

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Özet

Bu makalede, Microsoft Office SharePoint Server 2007'de özel bir e-posta uyarı işleyici oluşturma. E-posta uyarısı yakalamak ve değiştirmek için bu makalede açıklanan yöntemi IAlertNotificationHandler arabirimi kullanır.

Microsoft Office SharePoint Server 2007 aşağıdaki senaryolardan birinde bir uyarı özel e-posta işleyicisi oluşturmak isteyebilirsiniz:
  • Alanları, e-posta uyarısı 70 karakter ıtemname alanı gibi kesiliyor. 70-Karakter sınırını olarak çözmek için "Daha fazla bilgi" bölümünde açıklanan yöntemi kullanın.
  • Ek içerik e-posta uyarısı katıştırmak istediğiniz.
  • Düzeni veya e-posta uyarısı görünümünü değiştirmek istiyorum.

Daha fazla bilgi

Bu yöntem, IAlertNotificationHandler arabirimden devralır ve OnNotification yöntemini kullanan bir sınıfı oluşturur. Bu yöntemi, giden e-posta uyarıları yakalamak ve bunlarda değişiklik olanak sağlar. Uyarının özelliklerini çoğunu erişebilirler. XML ayrıştırma ve SharePoint nesne modelinin kodu kullanarak, e-posta uyarısı değiştirmek için gereken tüm bilgileri ayıklayabilirsiniz. Sonra gereksinimlerinize göre bir e-posta uyarısı görüntülemek için HTML saplama oluşturabilirsiniz. Ayrıca, SharePoint çubuğundaki SendMail işlevini kullanarak e-posta uyarısı gönderebilirsiniz.

Bu adımları yakından varsayılan uyarı şablon e-posta iletilerini benzer için çıktı biçimlerini örnek kodunu içerir. Sonuçta elde edilen e-posta uyarısı özelleştirmek için bu örnek kod HTML'DE değiştirebilirsiniz.
  1. IAlertNotificationHandler arabirimden devralan bir sınıf projesi oluşturun. Projede, Microsoft.SharePoint ad ve Microsoft.SharePoint.Utilities ad içerir.

    Use the following code:
    //===================code start=====================
    public class Class1:IAlertNotifyHandler
    {
    
    #region IAlertNotifyHandler Members
    
    public bool OnNotification(SPAlertHandlerParams ahp)
    {
    SPSite site = null;
    SPWeb web = null;
    
    try
    {
    site = new SPSite(ahp.siteUrl+ahp.webUrl);
    web = site.OpenWeb();
    SPList list=web.Lists[ahp.a.ListID];
    SPListItem item = list.GetItemById(ahp.eventData[0].itemId) ;
    
    string FullPath=HttpUtility.UrlPathEncode(ahp.siteUrl+"/"+ahp.webUrl+"/"+list.Title+"/"+item.Name);
    string ListPath = HttpUtility.UrlPathEncode(ahp.siteUrl + "/" + ahp.webUrl + "/" + list.Title);
    string webPath=HttpUtility.UrlPathEncode(ahp.siteUrl+"/"+ahp.webUrl);
    
    string build = "";
    if (ahp.eventData[0].eventType==1)
    eventType="Added";
    else if(ahp.eventData[0].eventType==2)
    eventType="Changed";
    else if(ahp.eventData[0].eventType==3)
    eventType="Deleted";
    
    build = "<style type=\"text/css\">.style1 { font-size: small; border: 1px solid #000000;"+
    "background-color: #DEE7FE;}.style2 { border: 1px solid #000000;}</style></head>"+ 
    "<p><strong>"+ item.Name.ToString() +"</strong> has been "+eventType +"</p>"+
    "<table style=\"width: 100%\" class=\"style2\"><tr><td style=\"width: 25%\" class=\"style1\">"+
    "<a href="+ webPath +"/_layouts/mysubs.aspx>Modify my Settings</a></td>"+
    "<td style=\"width: 25%\" class=\"style1\"> <a href="+ FullPath +">View "+item.Name+"</a></td>"+
    "<td style=\"width: 25%\" class=\"style1\"><a href=" + ListPath + ">View " + list.Title + "</a></td>" +
    " </tr></table>";
    string subject=list.Title.ToString() ; 
    SPUtility.SendEmail(web,true , false, ahp.headers["to"].ToString(), subject,build);
    return false;
    }
    catch (System.Exception ex)
    {
    return false;
    }
    finally
    {
    if (web != null)
    web.Dispose();
    if (site != null)
    site.Dispose();
    }
    
    }
    
    #endregion
    }
    //===================code end=====================
    
  2. Bir kesin olarak imzalanmış bir .dll dosyasını Genel Derleme Önbelleği (GAC) için ekleyin. Derleme, derleme klasöre sürükleyebilirsiniz. Veya, .dll dosyasını kaydettirmeye GACUtil aracını kullanabilirsiniz.

    Daha fazla bilgi için aşağıdaki MSDN Web sitelerini ziyaret edin.Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    315682  (http://support.microsoft.com/kb/315682/ ) Visual Basic 2005 veya Visual Basic. NET'te genel derleme önbelleğinde derleme yükleme
  3. Aşağıdaki klasörde alertTemplates.xml dosyasının bir kopyasını alın:
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Xml
    Bu yeni dosyayı CustomAlertTemplates.xml adlandırın ve sonra dosyayı kaydedin.

    Not Doğrudan alertTemplates.xml dosyayı değiştirmeyin. Doğrudan bu dosyayı değiştirmek desteklenmiyor.
  4. Dosya ve arama anahtar sözcüğü özellikleri düzenleyin. Özellikleri bloğu için aşağıdaki satırları ekleyin:
    <NotificationHandlerAssembly>AlertHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d59ecf2a3bd66904</NotificationHandlerAssembly>
              <NotificationHandlerClassName>AlertHandler.Class1</NotificationHandlerClassName>
        <NotificationHandlerProperties></NotificationHandlerProperties>
    Saplama bu şimdi benzer:
            <Properties>
                <ImmediateNotificationExcludedFields>ID;Author;Editor;Modified_x0020_By;Created_x0020_By;_UIVersionString;ContentType;TaskGroup;IsCurrent;Attachments;NumComments;</ImmediateNotificationExcludedFields>
                <DigestNotificationExcludedFields>ID;Author;Editor;Modified_x0020_By;Created_x0020_By;_UIVersionString;ContentType;TaskGroup;IsCurrent;Attachments;NumComments;</DigestNotificationExcludedFields>
                <NotificationHandlerAssembly>AlertHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d59ecf2a3bd66904</NotificationHandlerAssembly>
                    <NotificationHandlerClassName>AlertHandler.Class1</NotificationHandlerClassName>
                    <NotificationHandlerProperties></NotificationHandlerProperties>
      </Properties>
    
    Bu XML saplama uyarı şablon dosyasında istediğiniz her bir uyarı şablonu bölümüne ekleyin.
  5. Komut isteminde, C:\Program Files\Common Files\Microsoft Shared\Web sunucu extensions\12\BIN dizini değiştirin. Daha sonra aşağıdaki komutu çalıştırın:
    stsadm -o - "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\XML\customalerttemplates.xml" dosyaadı - updatealerttemplates url your_sharepoint_site url
  6. Aşağıdaki komutu çalıştırın:
    setproperty stsadm -o - pn iş-çabuk-uyarı-<a1>bd</a1> "her 1 dakika"
    Bu komut, SharePoint Server, hemen gönderilecek olan Uyarıları ne sıklıkta denetleyeceğini belirtir. Dakika cinsinden belirtilen bir değer. Bu sınama için sıklığı 1 dakikaya ayarlanmıştır.

    Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
    http://technet2.microsoft.com/windowsserver/WSS/en/library/0eb072fe-8321-483b-9d1e-3412e3f42a481033.mspx?mfr=true (http://technet2.microsoft.com/windowsserver/WSS/en/library/0eb072fe-8321-483b-9d1e-3412e3f42a481033.mspx?mfr=true)
  7. SharePoint giden e-posta iletileri için yapılandırılmış olduğundan emin olun. Giden e-posta iletilerini yapılandırma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
    http://technet2.microsoft.com/windowsserver/WSS/en/library/91570494-09ba-4537-904b-c61a6268d6bc1033.mspx?mfr=true (http://technet2.microsoft.com/windowsserver/WSS/en/library/91570494-09ba-4537-904b-c61a6268d6bc1033.mspx?mfr=true)
  8. Belge kitaplığı için sınama kullanıyorsanız, uyarılar açık belge kitaplığının emin olun.
  9. Aşağıdaki komutları çalıştırın:
    • iisreset
    • Services.msc
  10. Hizmetler MMC ek bileşeninde, Windows SharePoint Services Zamanlayıcı hizmeti yeniden başlatın.
Bu adımları tamamladıktan sonra özel e-posta uyarı işleyicisi yapılandırılmalıdır. Yeni bir uyarı oluşturduktan sonra güncelleştirilmiş özel e-posta uyarı alacaksınız.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office SharePoint Server 2007
  • Microsoft Office SharePoint Server 2007 for Search (Enterprise Edition)
  • Microsoft Office SharePoint Server 2007 for Search (Standard Edition)
Anahtar Kelimeler: 
kbmt kbhowto kbexpertiseadvanced kbinfo KB948321 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:948321  (http://support.microsoft.com/kb/948321/en-us/ )