小弟在使用DBMail来发送邮件,存储过程如下(profile之类的都已经配置好): 50feixianxxx]

发布时间:2017-3-26 13:36:23 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"小弟在使用DBMail来发送邮件,存储过程如下(profile之类的都已经配置好): 50feixianxxx]",主要涉及到小弟在使用DBMail来发送邮件,存储过程如下(profile之类的都已经配置好): 50feixianxxx]方面的内容,对于小弟在使用DBMail来发送邮件,存储过程如下(profile之类的都已经配置好): 50feixianxxx]感兴趣的同学可以参考一下。

小弟在使用DBMail来发送邮件,存储过程如下(profile之类的都已经配置好): declare @body1 varchar(100) set @body1 = 'Server :'+@@servername+ ' My First Database Email ' declare @attachment nvarchar(4000) select @attachment = 'http://localhost/ROHS_CCR/v2.doc' EXEC msdb.dbo.sp_send_dbmail @[email protected];',     @subject = 'My Mail Test',     @body = @body1,     @body_format = 'HTML' ,     @file_attachments [email protected]; 一切都正常,问题就出在附件上,提示:Msg 22051, Level 16, State 1, Line 0 Attachment file http://localhost/ROHS_CCR/v2.doc is invalid. 而如果把附件地址改成绝对路径 (C:\Inetpub\ROHS_CCR\v2.doc)就可以。 请问DBMail能支持这种虚拟路径的附件地址么?如果可以应该怎么写呢? 谢谢了

关注 

帮你顶一下!

但是首先需要局域网内有Exchange   Server,虽然sqlserver上的帮助说:只要有一个遵从扩展   MAPI   的邮件服务器就行,但是我也不知道除了Exchange   Server,还有什么服务器支持MAPI,这纯粹是微软的东西!!先给你介绍一下Exchange   Server的设置方式,其他的邮件服务器是否能设置,怎么设置还是等高人来吧!           1。使用   MSSQLServer   服务会用到的用户帐户登录到   Microsoft   Windows   NT&reg;   4.0   或   Windows&reg;   2000   上。该用户帐户必须是本地计算机的管理员和域帐户。      2。确认   Exchange   Server   客户端   (Exchnge32.exe)   或   Microsoft   Outlook&#8482;   客户端   (Outlook.exe)   能够连接到   Exchange   Server   而且能够发送电子邮件。如果使用   Outlook,确保   Outlook   安装时选择了"用于企业或工作组"选项。      3。确认所用的   Exchange   Server   配置文件中没有个人消息存储   (.pst)。Exchange   Server   配置文件的名字不应超过   32   个字符。      4。在"服务"选项卡上,确认   Microsoft   Exchange   Server   和个人通讯簿是唯一可用的服务,然后单击"发送"选项卡。确认"发送到"框中选定的内容是   Exchange   Server   中的邮箱,它应该有一个类似于"邮箱   -<友好的用户名>"的名字(其中<友好的用户名>是在第一步中登录到   Windows   NT   4.0   或   Windows   2000   的用户名)。      5。要运行带有   Exchange   Server   的"SQL   邮件",MSSQLServer   服务必须在第一步中登录的同一个用户帐户下运行。在"控制面板"中,双击"服务",选择   MSSQLServer   服务,然后单击"启动"。      6。确认"SQL   邮件"的配置文件是否正确。在   SQL   Server   企业管理器中,展开服务器,展开"支持服务"文件夹,选择"SQL   邮件",然后用右键单击。单击"属性",然后在"常规"选项卡上,确保"配置文件名"框中指定的配置文件名正确。(事件探查器名必须与第三步中用到的配置文件名匹配。)单击"测试",验证配置文件设置正确。      7。如果"SQL   邮件"无法启动(例如,显示错误信息指出配置文件不正确),请检查设置确保未将   Outlook   Express   设置为默认的电子邮件客户程序。在"控制面板"中双击"Internet"选项。在"程序"选项卡中,验证   Outlook   Express   不在电子邮件组合框中。如果不得不将默认的电子邮件客户程序更改为   Outlook   Express   以外的客户程序,那么,可能需要先验证"SQL   邮件"能够用邮件配置文件启动,然后再停止并重新启动   MSSQLServer   服务。        在有些情况下,邮件的配置文件可能会损坏而且"SQL   邮件"将无法使用它。要更正这个问题,需要把配置文件复制到另一个文件名下,或重新创建配置文件。      8。如果用来启动   Microsoft   SQL   Server&#8482;   的帐户没有权限访问   Exchange   服务器,那么就无法使用"SQL   邮件"。执行   xp_cmdshell   来测试   SQL   Server   对   Exchange   Server   的访问权限,它执行与"SQL   邮件"相同的权限。使用下面的命令测试对服务器的连接,假定   Exchange   Server   位于名为"MyServer"的计算机上。           xp_cmdshell   "NET   USE   \\MyServer\IPC$"           如果这个命令无法正常执行,说明第三步未正确完成。 刚才测试过,internet   mail   server   “用于企业或工作组”方式成功,“仅用于internet   ”不成功。告诉我你的mail   地址,我用SQLAgentMail   和   xp_sendmail存储过程send   mail   给你。                     确认   Microsoft   Outlook客户端   (Outlook.exe)   能够连接到internet   mail   Server   而且能够发送电子邮件。确保   Outlook   安装时选择了"用于企业或工作组"选项。确保Outlook   设置为默认的电子邮件客户程序。确保   Outlook   记住你的   mail   密码。                现存很多internet   mail   server都要SMTP认证

楼上的大哥,也发一份给我,[email protected],谢谢!

多谢了,我的邮箱是:[email protected] 因为之前我们用SQL MAIL是可以发送成功的,所以我相信配置管理应该OK,但是换成sp_send_dbmail的就不行了,所以我怀疑应该是权限的问题,但是又不知道SQL mail和DBMail差别在哪里,有点Confuse的。。。。   

以上资料在网上找到的,仅供参考...

嘿嘿

mark

好像没那么简单,呵呵.

@file_attachments = ] 'file_attachments',  电子邮件附件的文件名列表,以分号分隔。必须使用绝对路径指定列表中的文件。附件列表的类型为 nvarchar(max)。 也就是说你的http路径的文件是不能解析的。

上一篇:关于SQL2005里面XML用modify方法修改多条问题``进来看看 100feixianxxx]
下一篇:各位高人win2000专业版能不能安装sql2005阿 20feixianxxx]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款