sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan sender du en HTML-e-mail fra SQL Server (T-SQL)

SQL Servers Database Mail har en lagret procedure kaldet sp_send_dbmail som du kan bruge til at sende e-mails fra SQL Server.

Som standard sendes e-mails som tekst, men du kan nemt ændre dette, så de sendes i HTML-format.

@body_format argument er det, du bruger til at skifte over til HTML-format.

Eksempel

Her er et eksempel på at sende en HTML-e-mail.

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an <strong>Admin</strong> job, perhaps?',
    @body_format = 'HTML',
    @subject = 'As discussed';

Den del, der går til @body_format = 'HTML' er det, der sender e-mailen i HTML-format.

I dette eksempel har jeg anvendt en triviel mængde HTML. Jeg har blot vedlagt ordet Admin i <strong> tags. Jeg har holdt det så enkelt som muligt, så det er nemt at læse eksemplet.

Gem HTML til en variabel

I det forrige eksempel anvendte jeg HTML-koden direkte på @body argument. Dette var ikke det store problem i betragtning af det korte kropsindhold. Men det er rart at adskille HTML-koden fra sp_send_dbmail procedure.

For at gøre dette kan vi gemme HTML-koden til en variabel og derefter bruge den variabel som værdien for @body argument.

Sådan:

DECLARE @body_content varchar(255);
SET @body_content = 'Potential candidates for an <strong>Admin</strong> job, perhaps?';

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = @body_content,
    @body_format = 'HTML',
    @subject = 'As discussed';

For en komplet liste over HTML-elementer, se HTML-tags hos Quackit.


  1. SQL ROWNUM hvordan man returnerer rækker mellem et specifikt område

  2. SQL Server 2014 Incremental Statistics

  3. T-SQL XOR-operatør

  4. Opdag duplikerede elementer i rekursiv CTE