Posta elettronica databaseDatabase Mail

Posta elettronica database è una soluzione aziendale per l'invio di messaggi di posta elettronica dal Motore di database di SQL ServerSQL Server Database Engine.Database Mail is an enterprise solution for sending e-mail messages from the Motore di database di SQL ServerSQL Server Database Engine. Posta elettronica database consente alle applicazioni di database di inviare messaggi di posta elettronica agli utenti.Using Database Mail, your database applications can send e-mail messages to users. I messaggi possono includere risultati di query e file provenienti da qualunque risorsa disponibile in rete.The messages can contain query results, and can also include files from any resource on your network.

Vantaggi dell'uso di Posta elettronica database Benefits of using Database Mail

Posta elettronica database è caratterizzata da affidabilità, scalabilità, sicurezza e facilità di supporto.Database Mail is designed for reliability, scalability, security, and supportability.

AffidabilitàReliability

  • Posta elettronica database utilizza il protocollo SMTP (Simple Mail Transfer Protocol) standard per l'invio della posta.Database Mail uses the standard Simple Mail Transfer Protocol (SMTP) to send mail. È possibile utilizzare Posta elettronica database senza installare un client MAPI estesa nel computer che esegue SQL ServerSQL Server.You can use Database Mail without installing an Extended MAPI client on the computer that runs SQL ServerSQL Server.

  • Isolamento dei processi.Process isolation. Per ridurre al minimo l'impatto su SQL ServerSQL Server, il componente che fornisce la posta elettronica viene eseguito esternamente a SQL ServerSQL Server, in un processo separato.To minimize the impact on SQL ServerSQL Server, the component that delivers e-mail runs outside of SQL ServerSQL Server, in a separate process. SQL ServerSQL Server continuerà a mettere in coda i messaggi di posta elettronica anche se il processo esterno si arresta o non riesce. will continue to queue e-mail messages even if the external process stops or fails. I messaggi accodati verranno inviati nel momento in cui il processo esterno o il server SMTP torna online.The queued messages will be sent once the outside process or SMTP server comes online.

  • Account di failover.Failover accounts. Un profilo di Posta elettronica database consente di specificare più di un server SMTP.A Database Mail profile allows you to specify more than one SMTP server. Nel caso in cui un server SMTP non sia disponibile, sarà comunque possibile recapitare la posta a un altro server SMTP.Should an SMTP server be unavailable, mail can still be delivered to another SMTP server.

  • Supporto dei cluster.Cluster support. Posta elettronica database è in grado di interagire con i cluster ed è pienamente supportato in un cluster.Database Mail is cluster-aware and is fully supported on a cluster.

ScalabilitàScalability

  • Recapito in background: Posta elettronica database consente il recapito in background o asincrono.Background Delivery: Database Mail provides background, or asynchronous, delivery. Quando si chiama sp_send_dbmail per inviare un messaggio, Posta elettronica database aggiunge una richiesta a una coda di Service BrokerService Broker .When you call sp_send_dbmail to send a message, Database Mail adds a request to a Service BrokerService Broker queue. La stored procedure restituisce immediatamente un risultato.The stored procedure returns immediately. Il componente esterno di posta elettronica riceve la richiesta e recapita i messaggi.The external e-mail component receives the request and delivers the e-mail.

  • Più profili: Posta elettronica database consente di creare più profili in un'istanza di SQL ServerSQL Server .Multiple profiles: Database Mail allows you to create multiple profiles within a SQL ServerSQL Server instance. Facoltativamente, è possibile scegliere il profilo utilizzato da Posta elettronica database quando viene inviato un messaggio.Optionally, you can choose the profile that Database Mail uses when you send a message.

  • Più account: ogni profilo può contenere più account di failover.Multiple accounts: Each profile can contain multiple failover accounts. È possibile configurare profili diversi con account diversi, per distribuire la posta elettronica su più server di posta.You can configure different profiles with different accounts to distribute e-mail across multiple e-mail servers.

  • Compatibilità con installazione a 64 bit: Posta elettronica database è pienamente supportato nelle installazioni a 64 bit di SQL ServerSQL Server.64-bit compatibility: Database Mail is fully supported on 64-bit installations of SQL ServerSQL Server.

SicurezzaSecurity

  • Disabilitazione per impostazione predefinita: per ridurre la superficie di attacco di SQL ServerSQL Server, le stored procedure di Posta elettronica database sono disabilitate per impostazione predefinita.Off by default: To reduce the surface area of SQL ServerSQL Server, Database Mail stored procedures are disabled by default.

  • Protezione posta elettronica: per inviare Posta elettronica database, è necessario essere un membro del ruolo del database DatabaseMailUserRole nel database msdb .Mail Security:To send Database Mail, you must be a member of the DatabaseMailUserRole database role in the msdb database.

  • Sicurezza del profilo: Posta elettronica database impone la sicurezza per i profili di posta.Profile security: Database Mail enforces security for mail profiles. È possibile scegliere gli utenti o i gruppi del database msdb autorizzati ad accedere a un profilo di Posta elettronica database.You choose the msdb database users or groups that have access to a Database Mail profile. È possibile concedere l'accesso a utenti specifici o a tutti gli utenti in msdb.You can grant access to either specific users, or all users in msdb. Un profilo privato consente di limitare l'accesso a un elenco specificato di utenti.A private profile restricts access to a specified list of users. Un profilo pubblico risulta disponibile per tutti gli utenti di un database.A public profile is available to all users in a database.

  • Governor della dimensione dell'allegato: Posta elettronica database impone un limite configurabile per la dimensione dei file allegati.Attachment size governor: Database Mail enforces a configurable limit on the attachment file size. È possibile modificare tale limite usando la stored procedure sysmail_configure_sp .You can change this limit by using the sysmail_configure_sp stored procedure.

  • Estensioni dei file allegati non consentite: Posta elettronica database gestisce un elenco di estensioni di file allegati non consentite.Prohibited file extensions: Database Mail maintains a list of prohibited file extensions. Gli utenti non possono allegare file la cui estensione è inclusa in tale elenco.Users cannot attach files with an extension that appears in the list. È possibile modificare questo elenco utilizzando sysmail_configure_sp.You can change this list by using sysmail_configure_sp.

  • Posta elettronica database è in esecuzione nell'account di servizio SQL ServerSQL Server Engine.Database Mail runs under the SQL ServerSQL Server Engine service account. Per allegare un file da una cartella a un'e-mail, l'account del motore di SQL ServerSQL Server deve disporre delle autorizzazioni necessarie per accedere alla cartella in cui è contenuto il file.To attach a file from a folder to an email, the SQL ServerSQL Server engine account should have permissions to access the folder with the file.

Facilità di supportoSupportability

  • Configurazione integrata: Posta elettronica database mantiene le informazioni relative agli account di posta elettronica in Motore di database di SQL ServerSQL Server Database Engine.Integrated configuration: Database Mail maintains the information for e-mail accounts within Motore di database di SQL ServerSQL Server Database Engine. Non è necessario gestire un profilo di posta in un'applicazione client esterna.There is no need to manage a mail profile in an external client application. In Configurazione guidata posta elettronica database è disponibile un'interfaccia di facile utilizzo per la configurazione di Posta elettronica database.Database Mail Configuration Wizard provides a convenient interface for configuring Database Mail. È inoltre possibile creare e mantenere configurazioni di Posta elettronica database tramite Transact-SQLTransact-SQL.You can also create and maintain Database Mail configurations using Transact-SQLTransact-SQL.

  • Registrazione.Logging. Posta elettronica database registra l'attività di posta elettronica in SQL ServerSQL Server, nel log eventi dell'applicazione di Microsoft Windows e nelle tabelle del database msdb .Database Mail logs e-mail activity to SQL ServerSQL Server, the Microsoft Windows application event log, and to tables in the msdb database.

  • Controllo: Posta elettronica database mantiene le copie dei messaggi e degli allegati inviati nel database msdb .Auditing: Database Mail keeps copies of messages and attachments sent in the msdb database. È possibile controllare con facilità l'utilizzo di Posta elettronica database ed esaminare i messaggi conservati.You can easily audit Database Mail usage and review the retained messages.

  • Supporto per HTML: Posta elettronica database consente di inviare messaggi di posta elettronica in formato HTML.Support for HTML: Database Mail allows you to send e-mail formatted as HTML.

Architettura di Posta elettronica database Database Mail Architecture

Posta elettronica database è basato su un'architettura a code che impiega tecnologie service broker.Database Mail is designed on a queued architecture that uses service broker technologies. Quando gli utenti eseguono sp_send_dbmail, la stored procedure inserisce un elemento nella coda della posta elettronica e crea un record contenente il messaggio di posta elettronica.When users execute sp_send_dbmail, the stored procedure inserts an item into the mail queue and creates a record that contains the e-mail message. L'inserimento della nuova voce nella coda della posta elettronica avvia il processo esterno di Posta elettronica database (DatabaseMail.exe).Inserting the new entry in the mail queue starts the external Database Mail process (DatabaseMail.exe). Il processo esterno legge le informazioni relative alla posta elettronica e invia il messaggio al server o ai server di posta elettronica appropriati.The external process reads the e-mail information and sends the e-mail message to the appropriate e-mail server or servers. Il processo esterno inserisce un elemento nella coda di stato per il risultato dell'operazione di invio.The external process inserts an item in the Status queue for the outcome of the send operation. L'inserimento della nuova voce nella coda di stato avvia una stored procedure interna che aggiorna lo stato del messaggio di posta elettronica.Inserting the new entry in the status queue starts an internal stored procedure that updates the status of the e-mail message. Oltre ad archiviare il messaggio di posta elettronica inviato o non inviato, Posta elettronica database registra eventuali allegati di posta elettronica nelle tabelle di sistema.Besides storing the sent, or unsent, e-mail message, Database Mail also records any e-mail attachments in the system tables. Le viste di Posta elettronica database specificano lo stato dei messaggi per la risoluzione dei problemi, mentre le stored procedure consentono l'amministrazione della coda di Posta elettronica database.Database Mail views provide the status of messages for troubleshooting, and stored procedures allow for administration of the Database Mail queue.

Il database msdb invia messaggi a un server di posta elettronica SMTPmsdb sends messages to an SMTP mail server

Introduzione ai componenti di Posta elettronica database Introduction to Database Mail Components

Il programma Posta elettronica database è costituito dai componenti principali seguenti:Database Mail consists of the following main components:

  • Componenti di configurazione e di sicurezzaConfiguration and security components

    Posta elettronica database archivia le informazioni di configurazione e di sicurezza nel database msdb .Database Mail stores configuration and security information in the msdb database. Gli oggetti di configurazione e di sicurezza creano profili e account utilizzati da Posta elettronica database.Configuration and security objects create profiles and accounts used by Database Mail.

  • Componenti di messaggisticaMessaging components

    Il database msdb funge da database host della posta elettronica contenente gli oggetti di messaggistica usati da Posta elettronica database per inviare i messaggi.The msdb database acts as the mail-host database that holds the messaging objects that Database Mail uses to send e-mail. Questi oggetti includono la stored procedure sp_send_dbmail e le strutture dei dati contenenti le informazioni relative ai messaggi.These objects include the sp_send_dbmail stored procedure and the data structures that hold information about messages.

  • File eseguibile di Posta elettronica databaseDatabase Mail executable

    Il file eseguibile di Posta elettronica database è un programma esterno che legge i dati da una coda nel database msdb e invia i messaggi ai server di posta elettronica.The Database Mail executable is an external program that reads from a queue in the msdb database and sends messages to e-mail servers.

  • Componenti di registrazione e controlloLogging and auditing components

    Posta elettronica database registra le informazioni di registrazione nel database msdb e nel log eventi dell'applicazione di MicrosoftMicrosoft Windows.Database Mail records logging information in the msdb database and the MicrosoftMicrosoft Windows application event log.

    Configurazione di SQL Server Agent per l'uso di Posta elettronica database:Configuring Agent to use Database Mail:

    SQL Server Agent può essere configurato per l'utilizzo di Posta elettronica database.SQL Server Agent can be configured to use Database Mail. Ciò è necessario per le notifiche degli avvisi e per la notifica automatica del completamento di un processo.This is required for alert notifications and automatic notification when a job completes.

Avviso

I singoli passaggi all'interno di un processo possono inoltre inviare posta elettronica senza configurare SQL ServerSQL Server Agent per l'utilizzo di Posta elettronica database.Individual job steps within a job can also send e-mail without configuring SQL ServerSQL Server Agent to use Database Mail. Ad esempio, un passaggio del processo Transact-SQLTransact-SQL può utilizzare Posta elettronica database per inviare i risultati di una query a un elenco di destinatari.For example, a Transact-SQLTransact-SQL job step can use Database Mail to send the results of a query to a list of recipients.

È possibile configurare SQL ServerSQL Server Agent per inviare messaggi di posta elettronica a operatori predefiniti nelle condizioni riportate di seguito.You can configure SQL ServerSQL Server Agent to send e-mail messages to predefined operators when:

  • È stato attivato un avviso.An alert is triggered. È possibile configurare gli avvisi in modo da inviare notifiche tramite posta elettronica quando vengono generati eventi specifici,Alerts can be configured to send e-mail notification of specific events that occur. ad esempio per segnalare a un operatore un evento di database o una condizione del sistema operativo che richiede un intervento tempestivo.For example, alerts can be configured to notify an operator of a particular database event or operating system condition that may need immediate action. Per altre informazioni sulla configurazione degli avvisi, vedere Avvisi.For more information about configuring alerts, see Alerts.

  • Quando un'attività pianificata, ad esempio il backup di un database o un evento di replica, viene completata o non riesce.A scheduled task, such as a database backup or replication event, succeeds or fails. È possibile ad esempio utilizzare SQL ServerSQL Server Agent Mail per notificare agli operatori il verificarsi di un errore durante l'elaborazione alla fine del mese.For example, you can use SQL ServerSQL Server Agent Mail to notify operators if an error occurs during processing at the end of a month.

Argomenti del componente Posta elettronica database Database Mail Component Topics