質問

正しく実行され、SQL Server 2008 ServerがMS Exchange 2003サーバーと通信して電子メールを生成するCDOSYSコードがあります。ただし、From Nameは到着時に電子メールに表示されません。コードに障害はありますか?この方法で不可能ですか?

前もって感謝します

usp_send_cdosysmail
@from varchar(500),
@to text,
@bcc text ,
@subject varchar(1000),
@body text ,
@smtpserver varchar(25),
@bodytype varchar(10) 
as
declare @imsg int
declare @hr int
declare @source varchar(255)
declare @description varchar(500)
declare @output varchar(8000)
exec @hr = sp_oacreate 'cdo.message', @imsg out
exec @hr = sp_oasetproperty @imsg,
'configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").value','2'

exec @hr = sp_oasetproperty @imsg, 
  'configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").value', 
  @smtpserver 

exec @hr = sp_oamethod @imsg, 'configuration.fields.update', null
exec @hr = sp_oasetproperty @imsg, 'to', @to
exec @hr = sp_oasetproperty @imsg, 'bcc', @bcc
exec @hr = sp_oasetproperty @imsg, 'from', @from
exec @hr = sp_oasetproperty @imsg, 'fromname','A From Name'
exec @hr = sp_oasetproperty @imsg, 'subject', @subject

-- if you are using html e-mail, use 'htmlbody' instead of 'textbody'.

exec @hr = sp_oasetproperty @imsg, @bodytype, @body
exec @hr = sp_oamethod @imsg, 'send', null

-- sample error handling.
if @hr <>0 
select @hr
begin
exec @hr = sp_oageterrorinfo null, @source out, @description out
if @hr = 0
begin
select @output = ' source: ' + @source
print @output
select @output = ' description: ' + @description
print @output
end
else
begin
print ' sp_oageterrorinfo failed.'
return
end
end
exec @hr = sp_oadestroy @imsg
役に立ちましたか?

解決

あなたもできるはずです

sp_oasetproperty @imsg, 'from', '"Mr Bob T. Fantastic" <mf@example.com>'

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top