首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql发送邮件有关问题?邮件如何判断他是否发送成功呢

2013-08-14 
sql发送邮件问题?邮件怎么判断他是否发送成功呢?本帖最后由 tanaichuan 于 2013-08-12 14:45:16 编辑RT。。。

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

热点排行