Condividi tramite


Entità per gli impegni di posta elettronica

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

L'impegno di posta elettronica consente di registrare e gestire le comunicazioni e-mail con i clienti.Microsoft Dynamics 365 include il software Router e-mail che gestisce la distribuzione e-mail verso o da Microsoft Dynamics 365. L'impegno di posta elettronica viene recapitato tramite protocolli e-mail.Router e-mail supporta i protocolli e-mail seguenti: Servizi Web Exchange, POP3 e SMTP. Oltre che col software Router e-mail, un impegno di posta elettronica può essere recapitato utilizzando Microsoft Dynamics CRM per Outlook.

In questo argomento

Azioni su un impegno di posta elettronica

Messaggi e-mail inviati in blocco

Allegati e-mail

Azioni su un impegno di posta elettronica

Utilizzando Microsoft Dynamics CRM SDK, è possibile eseguire le seguenti azioni su un impegno di posta elettronica:

  • Creare, recuperare, aggiornare ed eliminare l'impegno di posta elettronica.

  • Inviare messaggi di posta elettronica oppure inviare messaggi di posta elettronica utilizzando i modelli di posta elettronica (Template). Per ulteriori informazioni sui modelli di messaggio, vedere Metodi e messaggi dell'entità Template (modello di posta elettronica).

  • Allegare i file come allegati tramite l'attributo (ActivityMimeAttachment) nel messaggio di posta elettronica.

  • Inviare messaggi di posta elettronica in blocco.

  • Configurare i messaggi di posta elettronica in arrivo che devono essere recapitati da Microsoft Exchange Server a un utente o a una coda o i messaggi in uscita che devono essere inviati da un utente o da una coda a Microsoft Exchange Server. Per ulteriori informazioni sulla configurazione di un'e-mail in arrivo, vedere Configurare la posta elettronica per i messaggi in arrivo.

    Se gli attributi dell'organizzazione Organization.RequireApprovalForQueueEmail e Organization.RequireApprovalForuserEmail (elaborazione dei messaggi e-mail solo per gli utenti e/o le code approvati) vengono impostati su true (1), si verifica quanto segue: i messaggi di posta elettronica vengono recapitati o inviati da un utente o da una coda solo se viene approvato l'indirizzo di posta elettronica primario dell'utente o della coda. Gli attributi SystemUser.EmailRouterAccessApproval e Queue.EmailRouterAccessApproval indicano rispettivamente lo stato dell'indirizzo di posta elettronica primario dell'utente e della coda e il valore deve essere impostato su 1. In caso contrario, i messaggi in arrivo e in uscita verranno bloccati. È possibile aggiornare il record dell'utente o della coda per modificare il valore dell'attributo, se non è già nello stato Approvato, a condizione che all'account utente sia stato assegnato il privilegio prvApproveRejectEmailAddress. Per ulteriori informazioni, vedere Mapping del ruolo di sicurezza dell'interfaccia utente a privilegio.

Nota

In Aggiornamento di Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015, l'attributo Email.StatusCode non può essere null.

Messaggi e-mail inviati in blocco

Microsoft Dynamics 365 supporta l'invio di messaggi e-mail a un lungo elenco di destinatari tramite una richiesta di messaggi e-mail in blocco. Quando viene inviata una richiesta di messaggi e-mail in blocco a Microsoft Dynamics 365, viene creata un'operazione asincrona nella coda dei servizi asincroni che invia i messaggi e-mail tramite un processo in background. Ciò consente un miglioramento delle prestazioni del sistema.

I messaggi BackgroundSendEmailRequest e SendBulkMailRequest vengono utilizzati per inviare messaggi e-mail in blocco. Di seguito viene elencata la sequenza utilizzata per l'invio di e-mail in blocco:

  1. Eseguire la richiesta SendBulkMail. La richiesta contiene una query per selezionare i destinatari dei messaggi e-mail e un modello di messaggio per la composizione di ogni messaggio e-mail.

  2. Il servizio asincrono crea impegni di posta elettronica per ogni destinatario.

  3. Il servizio asincrono invia ogni messaggio e-mail. I messaggi e-mail sono nello stato di invio "In sospeso".

  4. Il router di posta elettronica, Microsoft Dynamics CRM per Outlook, o un componente per l'invio dei messaggi e-mail a terze parti esegue il polling di Microsoft Dynamics 365 per i messaggi e-mail in sospeso e se ne trova uno, lo scarica utilizzando la richiesta BackgroundSendEmail.

  5. La richiesta BackgroundSendEmail esegue le operazioni seguenti: controlla se sono presenti messaggi e-mail in sospeso, scarica il messaggio e-mail per il chiamante del messaggio BackgroundSendEmailRequest e sincronizza i download se esistono più chiamanti.

  6. Il chiamante del messaggio BackgroundSendEmailRequest riceve il messaggio e-mail scaricato e lo invia.

Allegati e-mail

Gli allegati dei messaggi e-mail sono file che è possibile allegare ai messaggi e-mail o ai modelli di messaggio. Un file allegato può essere in qualsiasi formato di file per computer standard, ad esempio documenti di Microsoft Office Word, fogli di calcolo di Microsoft Office Excel, file CAD e file PDF. È possibile allegare più file come allegati e-mail a un messaggio e-mail o a un modello di messaggio.Le dimensioni massime dei file che è possibile caricare sono determinate dalla proprietà Organization.MaxUploadFileSize. Questa proprietà viene impostata nella scheda Posta elettronica in Impostazioni di sistema nell'applicazione CRM. Tramite questa impostazione è possibile limitare le dimensioni dei file che è possibile allegare ai messaggi di posta elettronica, alle note e alle risorse Web. L'impostazione predefinita è 5 MB.

Per allegare un allegato e-mail con un messaggio e-mail o un modello, vengono utilizzati gli attributi ActivityMimeAttachment.ObjectTypeCode e ActivityMimeAttachment.ObjectId durante la creazione o l'aggiornamento di un record di allegato MIME dell'impegno.

Nell'esempio di codice seguente viene illustrato come allegare un allegato e-mail a un messaggio e-mail.

ActivityMimeAttachment _sampleAttachment = new ActivityMimeAttachment{
    ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),
    ObjectTypeCode = Email.EntityLogicalName,
    Subject = "Sample Attachment”,
    Body = System.Convert.ToBase64String(new ASCIIEncoding().GetBytes("Example Attachment")),
    FileName = "ExampleAttachment.txt"};

Analogamente, per allegare un allegato e-mail a un modello anziché a un messaggio e-mail, sarà necessario sostituire i valori degli attributi ActivityMimeAttachment.ObjectTypeCode e ActivityMimeAttachment.ObjectId come segue nel codice precedente:

ObjectId = new EntityReference(Template.EntityLogicalName, _templateId), ObjectTypeCode = Template.EntityLogicalName,

Per un esempio di codice completo su come creare allegati e-mail, vedere Esempio: creare, recuperare, aggiornare ed eliminare un allegato di posta elettronica.

Riutilizzo degli allegati e-mail

Quando si crea un record di allegato e-mail, il file allegato verrà salvato come file BLOB. L'attributo ActivityMimeAttachment.AttachmentId del record di allegato e-mail identifica in modo univoco il file BLOB. Questa operazione viene eseguita per semplificare il riutilizzo dei file allegati con altri record di messaggi e-mail o modelli di messaggi, senza creare e archiviare più copie dello stesso file nel database.

Per riutilizzare un file allegato esistente:

  1. Recuperare il record ActivityMimeAttachment contenente il file allegato che si desidera riutilizzare, come illustrato nel seguente esempio di codice:

    ActivityMimeAttachment retrievedAttachment = (ActivityMimeAttachment)_serviceProxy.Retrieve(ActivityMimeAttachment.EntityLogicalName, _emailAttachmentId, new ColumnSet(true));
    
  2. Creare un nuovo record dell'allegato e-mail, associarlo al record del messaggio e-mail o del modello di messaggio richiesto e puntare al file allegato del record ActivityMimeAttachment recuperato, come illustrato nel seguente esempio di codice:

    ActivityMimeAttachment _reuseAttachment = new ActivityMimeAttachment{
        ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),
        ObjectTypeCode = Email.EntityLogicalName,
        Subject = "Sample Attachment”,
        AttachmentId = retrievedAttachment.AttachmentId};
    

    Poiché si riutilizza un file allegato esistente, non è necessario specificare i valori degli attributi ActivityMimeAttachment.FileName e ActivityMimeAttachment.Body durante la creazione e l'associazione dei record di allegati e-mail ai messaggi e-mail o ai modelli di messaggio.

Vedere anche

Entità Impegno
Codice di esempio per le entità impegno
Metodi e messaggi dell'entità E-mail
Metodi e messaggi dell'entità ActivityMimeAttachment (allegato e-mail)

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright