sql发送邮件问题?邮件怎么判断他是否发送成功呢?
本帖最后由 tanaichuan 于 2013-08-12 14:45:16 编辑 RT。。。。。
有没有弄过的高手解答下。。。。
判断邮箱是否发送成功不是进入队列中成功。。谢谢!!! 邮件 SQL
[解决办法]
sysmail_allitems (Transact-SQL)
sysmail_mailattachments (Transact-SQL)
sysmail_event_log (Transact-SQL)
sysmail_sentitems (Transact-SQL)
sysmail_faileditems (Transact-SQL)
sysmail_unsentitems (Transact-SQL)
这些表都记录了sql邮件的相关信息
[解决办法]
use msdb
GO
DECLARE @mailitemid INT
EXEC sp_send_dbmail --调用SQL2005的邮件发送的存储过程。
@profile_name = 'mail_first', --邮件配置文件名。--调用发送邮件的存储过程,登录帐号必须有msdb的datamail权限
@recipients ='wangyunliang@yuantel.com',--用来接受邮件的地址
@subject = '标题',
@body = 'Hello,world',
@body_format='text' ,
@file_attachments ='',--附件
@mailitem_id = @mailitemid OUTPUT
SELECT @mailitemid--取得@mailitemid
WAITFOR DELAY '00:00:05'--等5秒后看结果
SELECT
er.log_id AS [LogID],
er.event_type AS [EventType],
er.log_date AS [LogDate],
er.description AS [Description],
er.process_id AS [ProcessID],
er.mailitem_id AS [MailItemID],
er.account_id AS [AccountID],
er.last_mod_date AS [LastModifiedDate],
er.last_mod_user AS [LastModifiedUser]
FROM msdb.dbo.sysmail_event_log er
WHERE mailitem_id = @mailitemid
ORDER BY [LogDate] DESC