Condividi tramite


Protocollo di recapito SMTP

Data aggiornamento: 14 aprile 2006

Il protocollo di recapito SMTP (Simple Mail Transfer Protocol) crea e inoltra messaggi di notifica per il recapito tramite un servizio SMTP, ad esempio quello disponibile in Microsoft Exchange o Internet Information Services. Se si desidera utilizzare il protocollo di recapito SMTP per il recapito di notifiche da una particolare classe di notifica, è necessario definire il protocollo di recapito SMTP come parte della classe di notifica nella definizione dell'applicazione.

ms172485.note(it-it,SQL.90).gifImportante:
Il servizio SMTP è necessario per l'utilizzo del protocollo di recapito SMTP, ma non viene installato con Windows Vista. Per utilizzare il protocollo di recapito SMTP in Windows Vista è necessario installare separatamente un servizio SMTP.

Definizione di un protocollo di recapito SMTP

La definizione di un protocollo è costituita da un nome e dai valori degli eventuali campi personalizzati. Il protocollo di recapito SMTP utilizza i campi e i valori seguenti:

  • Il valore di ProtocolName (obbligatorio) deve essere SMTP.
  • Definire i campi seguenti, nell'ordine indicato, per il protocollo di recapito:
    • Subject (obbligatorio) specifica l'espressione che rappresenta la riga dell'oggetto da visualizzare nel messaggio di posta elettronica.
    • From (obbligatorio) specifica l'indirizzo di posta elettronica del mittente da visualizzare nel messaggio.
    • To (obbligatorio) deve specificare l'indirizzo della periferica di destinazione. Questo campo deve essere vuoto per una classe di notifica che fornisce notifiche multicast.
    • Priority (facoltativo) specifica la priorità del messaggio di posta elettronica. Per Microsoft Exchange, i valori disponibili sono Low, Normal o High. L'impostazione di priorità predefinita per le notifiche è Normal, se non è specificato alcun valore.
    • BodyFormat (facoltativo) ha valore "text" o "html", a seconda del formato desiderato per i dati di notifica forniti dal formattatore del contenuto. Il formato predefinito per le notifiche è text, se non è specificato alcun valore.

Nella sintassi Transact-SQL, le costanti stringa devono essere racchiuse tra virgolette. Se si utilizza una stringa in un campo del protocollo di recapito, è pertanto necessario racchiuderla tra virgolette singole, ad esempio 'miaStringa'. Se la stringa è in formato Unicode, aggiungere una N prima della virgoletta di apertura, ad esempio N'miaStringa'.

Definizione di esempio del protocollo di recapito SMTP

Nell'esempio seguente viene illustrato come definire un protocollo di recapito SMTP per una classe di notifica:

<Protocols>
    <Protocol>
        <ProtocolName>SMTP</ProtocolName>
        <Fields>
            <Field>
                <FieldName>Subject</FieldName>
                <SqlExpression>
                'The price of ' + StockSymbol
                + ' is now ' + StockPrice
                </SqlExpression>
            </Field>
            <Field>
                <FieldName>From</FieldName>
                <SqlExpression>
                N'stockquotes@microsoft.com'
                </SqlExpression>
            </Field>
            <Field>
                <FieldName>To</FieldName>
                <SqlExpression>DeviceAddress</SqlExpression>
            </Field>
            <Field>
                <FieldName>Priority</FieldName>
                <SqlExpression>N'Normal'</SqlExpression>
            </Field>
            <Field>
                <FieldName>BodyFormat</FieldName>
                <SqlExpression>N'html'</SqlExpression>
            </Field>
            <Field>
        </Fields>
        <ProtocolExecutionSettings>
            ...
        </ProtocolExecutionSettings>
    </Protocol>
</Protocols>

Nell'esempio, tutti i campi utilizzano espressioni Transact-SQL per ottenere i relativi valori:

  • Il campo Subject utilizza una combinazione di stringhe e riferimenti a campi di notifica (StockSymbol e StockPrice) per personalizzare la riga dell'oggetto per ogni notifica.
  • Il campo To ottiene il proprio valore dal campo DeviceAddress del dispositivo del sottoscrittore. Per un elenco dei campi disponibili, vedere SqlExpression Element for Protocol/Fields/Field (ADF).
  • I campi From, Priority e BodyFormat sono stringhe uguali per tutte le notifiche inviate utilizzando il protocollo di recapito.

I campi possono inoltre ottenere i propri valori direttamente dai campi di notifica. Per ulteriori informazioni, vedere FieldReference Element (ADF).

Definizione di un canale di recapito per il protocollo di recapito SMTP

Per utilizzare il protocollo di recapito SMTP per la distribuzione di notifiche è inoltre necessario definire un canale di recapito che utilizza il protocollo di recapito SMTP. Più classi di notifica appartenenti a più applicazioni possono utilizzare lo stesso canale di recapito SMTP.

ms172485.note(it-it,SQL.90).gifImportante:
Nell'implementazione di SMTP utilizzata da Microsoft .NET Framework, è possibile definire un solo canale di recapito per istanza tramite il protocollo di recapito SMTP. Nel caso in cui se ne definiscano due, è possibile che le notifiche non vengano inviate ai server SMTP appropriati.

Per ulteriori informazioni, vedere Definizione di un canale di recapito SMTP.

Vedere anche

Concetti

Protocollo di recapito File
Sviluppo di un protocollo di recapito personalizzato

Altre risorse

Configurazione dei protocolli di recapito
Definizione delle classi di notifica
Protocol Element (ADF)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta di una nota per informare che il servizio SMTP non viene installato con Windows Vista.
  • Aggiunta della descrizione di codice di esempio.