高手请进,关于sql server 2005数据库邮件问题

xx_adam 2006-09-14 05:55:09
在sql server2005中配置数据库邮件,我按照向导完成了配置,可以发送测试邮件(发到我邮箱中是可以收到的). 可以用sql 发的时候就是出错,下面我的sql

EXEC msdb.dbo.sp_send_dbmail
@recipients='gaojian6@adairy.com',
@body='The master database is full.';
(上面的sql 不报错,但是在select * from sysmail_event_log 结果中出错,错误提示:

ExternalMailQueue 接收到无效的 XML 消息格式。conversation_handle: 23DA2A58-D543-DB11-9A15-00096BA5A136。message_type_name: {//www.microsoft.com/databasemail/messages}SendMailStatus。消息正文: <?xml version="1.0" encoding="utf-8"?> <responses:SendMail xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/databasemail/responses ResponseTypes.xsd" xmlns:responses="http://schemas.microsoft.com/databasemail/responses"> <Information> <Failure Message="由于邮件服务器故障,无法将邮件发送给收件人。 (使用帐户 6 (2006-09-14T17:42:33) 发送邮件。 异常邮件: 无法将邮件发送到邮件服务器。 (服务器不支持安全连接。)。 )" /> </Information> <MailItemId Id="37" /> <SentStatus Status="3" /> <SentAccountId Id="0" /> <SentDate Date="2006-09-14T17:42:33" /> <CallingProcess Id="5820" /> </responses:SendMail> 。

)

sql server 2005和sql server 2000发邮件过程不一样,xp_sendmail是sql server 2000中的,sp_sendmail是2005用的,有一个@profile是指定配置文件的,但是我写的这个参数指定配置文件提示出错。


EXEC msdb.dbo.sp_send_dbmail
@recipients='gaojian6@aairy.com',
@body='The master database is full.',
@profile = 'gaojian' ;



出错提示:

 消息 8145,级别 16,状态 1,过程 sp_send_dbmail,第 0 行
@profile 不是过程 sp_send_dbmail 的参数。


问题:
   我配置的配置文件没有问题,可以发送测试邮件,并且我可以收到,但是从出错信息来看说我没有“SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: Authentication required”(我是用pop3的方式连到公司的邮件服务器)


怎样处理,谢谢



  
...全文
379 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
betls 2006-12-30
  • 打赏
  • 举报
回复
xx_adam (一无所有),你好,

我测试sql 2005的数据库邮件功能时,使用本身的发送测试邮件功能,结果很奇怪,
使用sina的邮件测试成功,使用21cn的邮件测试错误,详见以下错误信息。使用公司的exchange邮箱也测试成功。
但在另一台win2003服务器上,这三个账号都测试失败,不知什么原因?特向您讨教。

日期 2006-12-30 15:22:31
日志 数据库邮件 (数据库邮件日志)

日志 ID 20
上次修改时间 2006-12-30 15:22:31
上次修改者 sa

消息
Invalid XML message format received on the ExternalMailQueue. conversation_handle: 3025817E-D697-DB11-A916-0040D093087E. message_type_name: {//www.microsoft.com/databasemail/messages}SendMailStatus. message body: <?xml version="1.0" encoding="utf-8"?>
<responses:SendMail xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/databasemail/responses ResponseTypes.xsd" xmlns:responses="http://schemas.microsoft.com/databasemail/responses">
<Information>
<Failure Message="由于邮件服务器故障,无法将邮件发送给收件人。 (使用帐户 5 (2006-12-30T15:22:29) 发送邮件。 异常邮件: 无法将邮件发送到邮件服务器。 (语法错误,无法识别命令。 服务器响应为: authentication failed,decode user password error)。 )" />
</Information>
<MailItemId Id="10" />
<SentStatus Status="3" />
<SentAccountId Id="0" />
<SentDate Date="2006-12-30T15:22:29" />
<CallingProcess Id="488" />
</responses:SendMail>
.
xx_adam 2006-09-19
  • 打赏
  • 举报
回复
问题已解决了,自己写了个的总结

http://sqlserver2005.itpub.net/post/22359/210413
athossmth 2006-09-15
  • 打赏
  • 举报
回复
EXEC msdb.dbo.sp_send_dbmail
@recipients='gaojian6@aairy.com',
@body='The master database is full.',
@profile = 'gaojian' ;

应该用@profile_name嘛,怎么用@profile

不过这个我记得原始文档就是@profile,后来正式版出来之后成为@profile_name了,不怪你
xx_adam 2006-09-15
  • 打赏
  • 举报
回复
版主过来看看
xx_adam 2006-09-15
  • 打赏
  • 举报
回复
消息 8145,级别 16,状态 1,过程 sp_send_dbmail,第 0 行
@profile 不是过程 sp_send_dbmail 的参数。


这个错误处理了应该是这个
EXEC msdb.dbo.sp_send_dbmail
@recipients='gaojian6@aairy.com',
@body='The master database is full.',
@profile_name = 'gaojian' ;
xx_adam 2006-09-15
  • 打赏
  • 举报
回复
自已顶一下

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧