Ich sende eine E-Mail mit sp_send_dbmail auf MSSQL Server 2012 im HTML-Format.Ist es möglich, SQL-Variablen in HTML-E-Mails zu verwenden, wenn sp_send_dbmail verwendet wird?
Dies funktioniert perfekt, aber ich möchte eine SQL-Variable in den HTML-E-Mail-Body-Inhalt einfügen können. Zum Beispiel würde ich erwarten, dass der Code wie unten aussieht, aber aus einem unbekannten Grund scheint das Einfügen der Variablen den HTML-Code zu unterbrechen. Ich vermute, dass dies passiert, weil beim Einfügen der Variablen alle verbleibenden HTML-Tags automatisch geschlossen werden.
DECLARE @email_body1 NVARCHAR(max);
DECLARE @email_body2 NVARCHAR(max);
DECLARE @fundraising_link NVARCHAR(max);
DECLARE @firstname NVARCHAR(max);
DECLARE @email_leadid INT;
DECLARE @send_email CHAR(5);
DECLARE @email_address NVARCHAR(max);
DECLARE @segment NVARCHAR(max);
DECLARE @variable VARCHAR(max);
SET @variable = '''Paul''';
SET @email_body1 =
'
<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="viewport" content="width=device-width">
</head>
<body>
Hello ' + @variable + ' ....... REST OF BODY CONTENT.
</body></html>
';
SET @email_body2 = @email_body1
EXEC msdb.dbo.sp_send_dbmail
@recipients = '[email protected]',
@blind_copy_recipients = '[email protected]',
@subject = 'email subject'
@body = @email_body2,
@body_format = 'HTML',
@profile_name = 'HTML EMAIL';
Mache ich etwas falsch? Oder gibt es einen leichteren Weg, um das zu erreichen, was ich brauche?
Sie verketten nicht korrekt. Du solltest folgendes machen: ''Hallo' + @variable + '.....''. Außerdem müssen Sie das Angebot für Ihren @ @ subject-Wert schließen. – Nicarus
Ups ... Ich habe das behoben, das Problem besteht jedoch weiterhin. – mrgunston
Erhalten Sie einen Fehler? Wenn ja, was ist die Nachricht? - Oder sendet es, aber der HTML-Code ist in der gelieferten E-Mail nicht richtig strukturiert? – Nicarus