--exec P_TYAN_SERVICE_SITE_CHECK
ALTERar procedimiento [dbo].[P_TYAN_SERVICE_SITE_CHECK]
Como
Declarar
@cuenta interna,
@objeto int,
@horaint,
@rcint,
@salida varchar(400),
@descripción varchar (400),
@fuente varchar(400),
@remitente varchar(50),
@nombredelremitente varchar(50),
@serveraddress varchar(255),
@destinatario varchar(255),
@nombredeldestinatario varchar(255),
@sujeto varchar(255),
@mailbody varchar(8000)
--Inicio automático de correo electrónico
seleccione @count= count(*) de [dbo].[TYAN_SERVICE_SITE] donde el área no es nula y el nombre del cliente no es nulo y la ubicación del envío no es nulo y el país no es nulo y el número de cliente no es nulo y (CUST_TYPE es nulo o SERVICE_SITE es nulo )
si(@cuenta!=0)
comenzar
Establecer @remitente='Correo automático'
Establecer @sendername='AutoMail'
Establecer @serveraddress='10.98.0.211'
--Aquí está la dirección del destinatario. Esta variable parece inútil, así que agréguela directamente al final. Solo mira abajo-------
Establecer @destinatario =''
--título----------------
Establecer @asunto='Correo'
-------Aquí están los datos que desea mostrarComenzar---------------------
Establecer @mailbody=N'<html><head>
</cabeza><cuerpo>
<p estilo="margin-bottom:12.0pt"><tamaño de fuente=1 cara=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">Estimado señor:<o:p></o:p></span></font></p>
<p estilo="margin-bottom:12.0pt"><tamaño de fuente=1 cara=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">Mantenga estos nuevos Tyan
Sitio de servicio:<o:p></o:p></span></font></p>
<table style="font-family:trebuchet ms;font-size: 10pt; border-collapse:collapse" cellpadding="2" bordercolor="black" border=1>
<tr bgcolor=naranja align=centro>
<td >ÁREA</td>
<td >PAÍS</td>
<td >NÚMERO DE PERSONAL</td>
<td >NOMBRE DEL PERSONAL</td>
</tr>'
--<td align=left>Nombre del departamento</td>
Declarar
@strvarchar(8000),
@AREA nvarchar(50),
@PAÍS varchar(50),
@CUST_NOvarchar(50),
@CUST_NAME varchar(50),
@vcount entero
comenzar
establecer @vcount=1
establecer @cadena=''
Declarar c_at Cursor
PARA
seleccione área distinta, país, número de cliente, nombre de cliente de [dbo]. [TYAN_SERVICE_SITE] donde el área no es nula y el nombre de cliente no es nulo y la ubicación de envío no es nulo y el país no es nulo y el número de cliente no es nulo y (CUST_TYPE es nulo o SERVICE_SITE es nulo )
ABRIR c_at
BUSCAR SIGUIENTE DESDE c_at EN @AREA,@PAÍS,@CUST_NO,@CUST_NAME
MIENTRAS (@@FETCH_STATUS = 0)
COMENZAR
establecer @str=@str+'<tr align=center>'
establecer @str=@str+'<td >'+@AREA+'</td>'
establecer @str=@str+'<td >'+@PAÍS+'</td>'
establecer @str=@str+'<td >'+@CUST_NO+'</td>'
establecer @str=@str+'<td >'+@CUST_NAME+'</td>'
establecer @vcount=@vcount+1
BUSCAR SIGUIENTE DESDE c_at EN @AREA,@PAÍS,@CUST_NO,@CUST_NAME
FIN
-------Aquí están los datos que desea mostrar al final---------------------
CERRAR c_at
DEASIGNAR c_at
fin
Establecer @mailbody = @mailbody+@str+'</table></body></html>'
Ejecutivo @hr = sp_OACreate 'jmail.message', @object SALIDA
Ejecutivo @hr = sp_OASetProperty @object, 'Charset', 'BIG5'
--@destinatario --La dirección de correo electrónico de su destinatario---------------------------------------- ----- ---------------
Exec @hr = sp_OAMethod @object, 'AddRecipient',NULL,'su dirección de correo'
--Exec @hr = sp_OAMethod @object, 'AddRecipientBCC',NULL,'su dirección de correo'
Ejecutivo @hr = sp_OASetProperty @objeto, 'Asunto',@asunto
Ejecutivo @hr = sp_OAsetProperty @object, 'HTMLBody', @mailbody
Ejecutivo @hr = sp_OAsetProperty @object, 'Prioridad', 1
Si no, @sender es nulo
Ejecutivo @hr = sp_OASetProperty @object, 'De', @sender
Si no @sendername es nulo
Ejecutivo @hr = sp_OASetProperty @object, 'FromName', @sendername
--Inicio automático de correo electrónico
Ejecutivo @hr = sp_OAMethod @object, 'Enviar', nulo, @serveraddress
Ejecutivo @hr = sp_OAGetErrorInfo @object, @source SALIDA, @descripción SALIDA
si (@hora = 0)
Comenzar
Establecer @output='Fuente del error: '+@source
Imprimir@salida
Seleccione @output = 'Descripción del error: ' + @description
Imprimir@salida
Fin
Demás
Comenzar
Imprimir '¡No se pudo obtener la información del error! '
Devolver
Fin
--Liberar el objeto JMail.Message
EXEC @hr = sp_OADstroy @objeto
--SI @hora <> 0
--COMENZAR
-- EXEC sp_OAGetErrorInfo @objeto
-- DEVOLVER
--FIN
fin
El procedimiento almacenado anterior se completa,
Adjunto se abren los procedimientos de automatización de Ole
---Abrir procedimientos de automatización Ole----
sp_configure 'mostrar opciones avanzadas', 1;
IR
RECONFIGURAR;
IR
sp_configure 'Procedimientos de automatización OLE', 1;
IR
RECONFIGURAR;
IR
Puede usarlo después de realizar ligeras modificaciones basadas en sus propios datos. El envío de correos electrónicos generalmente se usa junto con el trabajo del agente del servidor SQL para enviar correos electrónicos con regularidad.
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx .
-