Artikel-ID: 948321 - Geändert am: Montag, 20. Oktober 2008 - Version: 2.0

Erstellen Sie einen benutzerdefinierten e-Mail-Warnung Handler in Microsoft Office SharePoint Server

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.
Alles erweitern | Alles schließen

Zusammenfassung

Dieser Artikel beschreibt wie Sie einen benutzerdefinierten e-Mail-Warnung Handler in Microsoft Office SharePoint Server 2007 zu erstellen. In diesem Artikel beschriebenen Methode verwendet die IAlertNotificationHandler -Schnittstelle zum Abfangen von e-Mail-Benachrichtigung und es ändern.

Möglicherweise möchten Sie einen benutzerdefinierten e-Mail-Warnung Handler erstellen, in Microsoft Office SharePoint Server 2007 in einem der folgenden Szenarien:
  • Felder werden z. B. das Feld Elementname zu 70 Zeichen in der e-Mail-Benachrichtigung gekürzt. Verwenden Sie die 70-Zeichengrenze umgehen, beschriebenen Methode im Abschnitt "Weitere Informationen".
  • Möchten Sie zusätzliche Inhalte in e-Mail-Benachrichtigung einbetten.
  • Möchten Sie das Layout oder die Darstellung der e-Mail-Benachrichtigung zu ändern.

Weitere Informationen

Diese Methode erstellt eine Klasse, die von der IAlertNotificationHandler -Schnittstelle erbt und, verwendet die OnNotification -Methode. Diese Methode können Sie ausgehende e-Mail-Benachrichtigungen abfangen und ändern. Sie können die meisten Eigenschaften der Warnung zugreifen. Mithilfe von XML-Analyse und SharePoint-Objektmodellcode können Sie die Informationen extrahieren, die Sie benötigen, um e-Mail-Benachrichtigung zu ändern. Anschließend können Sie die Stub HTML zum Anzeigen der e-Mail-Benachrichtigung entsprechend Ihren Anforderungen erstellen. Darüber hinaus können Sie e-Mail-Benachrichtigung senden, mit SharePoint ?s SendMail-Funktion.

Diese Schritte beinhalten Beispielcode, die Formatierung der Ausgabe, die die standardmäßige Warnung Vorlage e-Mail-Nachrichten genau ähnelt. Sie können von HTML in diesem Beispielcode in die resultierende e-Mail-Benachrichtigung anpassen ändern.
  1. Erstellen Sie ein Klasse-Projekt, die von der IAlertNotificationHandler -Schnittstelle erbt. Fügen Sie den Microsoft.SharePoint-Namespace und die Microsoft.SharePoint.Utilities-Namespace in das Projekt.

    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. Fügen Sie eine stark signiert DLL-Datei zum globalen Assemblycache (GAC). Sie können die Assembly in den Assemblyordner ziehen. Oder Sie können das Tool GACUtil so registrieren Sie DLL-Datei verwenden.

    Weitere Informationen finden Sie auf folgenden Websites von MSDN.Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    315682  (http://support.microsoft.com/kb/315682/ ) Zum Installieren einer Assembly in den globalen Assemblycache in Visual Basic .NET oder Visual Basic 2005
  3. Erstellen Sie eine Kopie der Datei alertTemplates.xml im folgenden Ordner:
    Ordner Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\12\Template\Xml
    Nennen Sie diese neue Datei CustomAlertTemplates.xml, und speichern Sie die Datei.

    Hinweis: Ändern Sie die alertTemplates.xml-Datei nicht direkt. Direktes Ändern dieser Datei wird nicht unterstützt.
  4. Bearbeiten Sie die Datei und suchen Sie nach Schlüsselwort-Eigenschaften. Fügen Sie dem Block Eigenschaften die folgenden Zeilen:
    <NotificationHandlerAssembly>AlertHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d59ecf2a3bd66904</NotificationHandlerAssembly>
              <NotificationHandlerClassName>AlertHandler.Class1</NotificationHandlerClassName>
        <NotificationHandlerProperties></NotificationHandlerProperties>
    der Stub sollten diese jetzt aussehen:
            <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>
    
    dieses XML-Stub in jeder Warnung Vorlage-Abschnitt, der in der Warnung Vorlage-Datei einschließen.
  5. Wechseln Sie an einer Eingabeaufforderung zu dem Ordner c:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server extensions\12\BIN Verzeichnis. Führen Sie folgenden Befehl:
    Stsadm -o Updatealerttemplates - Dateiname "Ordner c:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\12\TEMPLATE\XML\customalerttemplates.xml" - Url your_sharepoint_site url
  6. Führen Sie den folgenden Befehl aus:
    Stsadm-o Setproperty - Pn Auftrag-sofortige-Benachrichtigungen-BW "1 Minuten"
    Dieser Befehl gibt an, wie oft SharePoint Server für Benachrichtigungen überprüft, die sofort gesendet werden. Der Wert wird in Minuten angegeben. Für diesen Test wird die Häufigkeit auf 1 Minute festgelegt.

    Weitere Informationen der folgenden Microsoft-Website:
    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. Stellen Sie sicher, dass für ausgehende e-Mail-Nachrichten konfiguriert SharePoint verfügen. Weitere Informationen zum Konfigurieren von ausgehenden e-Mail-Nachrichten der folgenden Microsoft-Website:
    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. Wenn Sie das Dokument Bibliothek für den Test verwenden, stellen Sie sicher, dass Sie Benachrichtigungen für die Dokument-Bibliothek eingeschaltet haben.
  9. Führen Sie die folgenden Befehle aus:
    • iisreset
    • Services.msc
  10. Starten Sie den Windows SharePoint Services-Timer-Dienst im Dienste-Snap-in neu.
Nachdem Sie diese Schritte durchgeführt haben, sollte der benutzerdefinierten e-Mail-Warnung Handler konfiguriert werden. Nachdem Sie eine neue Warnung erstellt haben, sollten Sie die aktualisierte benutzerdefinierte e-Mail-Benachrichtigung erhalten.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office SharePoint Server 2007
  • Microsoft Office SharePoint Server 2007 for Search (Enterprise Edition)
  • Microsoft Office SharePoint Server 2007 for Search (Standard Edition)
Keywords: 
kbmt kbhowto kbexpertiseadvanced kbinfo KB948321 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 948321  (http://support.microsoft.com/kb/948321/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.