This seems to be pretty straight forward. I need to send email from some ASP.NET applications. I need to do this consistently without strange errors and without CPU utilizat
I send most of my mail using a Sproc. I can even attach a file.
CREATE PROCEDURE [dbo].[sendMail_With_CDOMessage]
@to VARCHAR(64),
@CC VARCHAR(1024)='',
@BCC VARCHAR(1024)='',
@subject VARCHAR(500)='',
@body VARCHAR(8000)='' ,
@from VARCHAR(64),
@filename VARCHAR(255)='',
@priority INT = 0
AS
BEGIN
SET NOCOUNT ON
DECLARE
@handle INT,
@return INT,
@s VARCHAR(64),
@sc VARCHAR(1024),
@up CHAR(27),
@server VARCHAR(255)
SET @s = '"http://schemas.microsoft.com/cdo/configuration/'
SELECT
@s = 'Configuration.Fields(' + @s,
@up = 'Configuration.Fields.Update',
@server = 'smtp.yourdomain.com'
EXEC @return = sp_OACreate 'CDO.Message', @handle OUT
SET @sc = @s + 'sendusing").Value'
EXEC @return = sp_OASetProperty @handle, @sc, '2'
SET @sc = @s + 'smtpserver").Value'
EXEC @return = sp_OASetProperty @handle, @sc, @server
EXEC @return = sp_OAMethod @handle, @up, NULL
EXEC @return = sp_OASetProperty @handle, 'To', @to
EXEC @return = sp_OASetProperty @handle, 'CC', @CC
EXEC @return = sp_OASetProperty @handle, 'BCC', @BCC
EXEC @return = sp_OASetProperty @handle, 'From', @from
EXEC @return = sp_OASetProperty @handle, 'Subject', @subject
EXEC @return = sp_OASetProperty @handle, 'HTMLBody', @body
EXEC @return = sp_OASetProperty @handle, 'Priority', 'cdoHigh'
IF @filename IS NOT NULL
EXEC @return = sp_OAMethod @handle, 'AddAttachment', NULL, @filename
EXEC @return = sp_OAMethod @handle, 'Send', NULL
IF @return 0
BEGIN
PRINT 'Mail failed.'
IF @from IS NULL
PRINT 'From address undefined.'
ELSE
PRINT 'Check that server is valid.'
END
ELSE
PRINT 'Mail sent.'
EXEC @return = sp_OADestroy @handle
END