2017-08-28 1 views
0
Hinzufügen

Ich schreibe eigentlich einen SOAP-Befehl (von JavaScript) für ein Outlook Add-In die eine Mail (auf einem Exchange-Server ausgeführt wird) sendet. In der Mail möchte ich 2 Hyperlinks in 2 verschiedenen Zeilen einfügen. Ab sofort ist der Code wie folgt;Link Nachricht in einer SOAP-Anweisung

{ 

       var soapNotificationItem = '<?xml version="1.0" encoding="utf-8"?>' + 
        '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' + 
        '    xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"' + 
        '    xmlns:xsd="http://www.w3.org/2001/XMLSchema"' + 
        '    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' + 
        '    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' + 
        ' <soap:Header>' + 
        ' <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' + 
        ' </soap:Header>' + 
        ' <soap:Body>' + 
        ' <m:CreateItem MessageDisposition="SendAndSaveCopy">' + 
        '  <m:Items>' + 
        '<t:Message>'+ 
        '<t:Subject>Notification email</t:Subject>'+ 
        '<t:Body BodyType="HTML">' + MyMessage + '</t:Body>' + 
        ' <t:ExtendedProperty>' + 
        ' <t:ExtendedFieldURI PropertyTag="16367" PropertyType="SystemTime" />'+ 
        '<t:Value>2014-01-02T21:09:52.000</t:Value>'+ 
        '</t:ExtendedProperty>'+ 
        '<t:ToRecipients>' + MyMailAdd + '</t:ToRecipients>' + 
        '</t:Message>'+ 

        '  </m:Items>' + 
        ' </m:CreateItem>' + 
        ' </soap:Body>' + 
        '</soap:Envelope>'; 
       mailbox.makeEwsRequestAsync(soapNotificationItem, soapNotificationItemCallback); 
      } 

Wie Sie sehen können, habe ich meine Parameter MyMessage, die ich getrennt bin Konstruktion, wie im folgenden Beispiel dargestellt;

MyMessage = "www.mylink1.com" + "&#10;" + "www.mylink2.com" 

Jede Idee, wie ich Hyperlinks aus den 2 Links mit einem Zeilenumbruch dazwischen machen. Die &#10; funktioniert auch nicht.

Antwort

0

Endlich habe ich eine Lösung für das Problem gefunden. Durch Angabe des Body-Typs zu HTML <t:Body BodyType="HTML"> konnte ich einfach HTML hinzufügen.

Um zu vereinfachen, folgt die HTML-Konstruktion dem folgenden Format, obwohl ich in meinem Fall die Daten aus einer XML-Datei gelesen habe und die anzuzeigende Nachricht durchläuft und verkettet.

var link1 = "www.test.com" 
var MyMessage = "<strong>Click on link :</strong>: <a href=\"#" + link1 + "\">" + Link1 + "</a>"; 

Dann zum TeilSOAP kommt, bleibt es wie es ist; {

  var soapNotificationItem = '<?xml version="1.0" encoding="utf-8"?>' + 
       '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' + 
       '    xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"' + 
       '    xmlns:xsd="http://www.w3.org/2001/XMLSchema"' + 
       '    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' + 
       '    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' + 
       ' <soap:Header>' + 
       ' <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' + 
       ' </soap:Header>' + 
       ' <soap:Body>' + 
       ' <m:CreateItem MessageDisposition="SendAndSaveCopy">' + 
       '  <m:Items>' + 
       '<t:Message>'+ 
       '<t:Subject>Notification email</t:Subject>'+ 
       '<t:Body BodyType="HTML">' + MyMessage + '</t:Body>' + 
       ' <t:ExtendedProperty>' + 
       ' <t:ExtendedFieldURI PropertyTag="16367" PropertyType="SystemTime" />'+ 
       '<t:Value>2014-01-02T21:09:52.000</t:Value>'+ 
       '</t:ExtendedProperty>'+ 
       '<t:ToRecipients>' + MyMailAdd + '</t:ToRecipients>' + 
       '</t:Message>'+ 

       '  </m:Items>' + 
       ' </m:CreateItem>' + 
       ' </soap:Body>' + 
       '</soap:Envelope>'; 
      mailbox.makeEwsRequestAsync(soapNotificationItem, soapNotificationItemCallback); 
     } 

HINWEIS: für die Verbindung korrekt in Office365 erscheinen, setzen Sie das # vor dem Link hinzufügen.

Verwandte Themen