domingo, 7 de septiembre de 2014

Enviar un mail desde javascript en Sharepoint 2013 on-premise mediante jquery

Sharepoint 2013 tiene una API llamada /_api/SP.Utilities.Utility.SendEmail que permite llamarla desde cualquier aplicativo, ya que es un servicio REST. Ej: desde un workflow en Sharepoint Designer 2013, aplicación web (java/php/etc).

Reemplaza las secciones en rojo. Es importante que el TO tiene que ser un usuario de AD, porque de otra manera fallará el envio. La prueba se realizó sobre un Sharepoint 2013 con el acumulativo de junio.


    var urlTemplate = siteurl + "/_api/SP.Utilities.Utility.SendEmail";
    var siteurl = _spPageContextInfo.webServerRelativeUrl;
    var urlTemplate = siteurl + "/_api/SP.Utilities.Utility.SendEmail";
    $.ajax({
       contentType: 'application/json',
       url: urlTemplate,
       type: "POST",
       data: JSON.stringify({
           'properties': {
               '__metadata': { 'type': 'SP.Utilities.EmailProperties' },
               'From': "mail@mail.com",
               'To': { 'results': ["DOMINIO\\usuarioAD"] },
               'Body': "Acá va el código del body",
               'Subject': "Prueba desde javascript"
           }
       }
     ),
       headers: {
           "Accept": "application/json;odata=verbose",
           "content-type": "application/json;odata=verbose",
           "X-RequestDigest": $("#__REQUESTDIGEST").val()
       },
       success: function (data) {
          alert("Se envió el mail correctamente");
       },
       error: function (err) {
           alert(err.responseText);
           debugger;
       }
    });

Cree una página y agregué un script edito, que linkea a la librería de jquery y agregué el código de arriba. Al publicar la página me aparece lo siguiente.

image

Si reviso mi outlook, veo lo siguiente.

image

image

En el caso que quieras enviar a un grupo, revisa el siguiente KB:

http://support.microsoft.com/kb/2839070/es

No hay comentarios:

Publicar un comentario