database mail邮件发送出错

99归一 2012-03-02 02:33:48
现在我正在做一个数据库警报自动发送邮件的PROC,在设置邮箱时,代码如下,测试邮箱发送情况,却发不出邮件,我申请的一个临时邮箱:qing_tong_qing@163.com 密码为:abc123,麻烦各位帮忙调一调:

USE master
GO
EXEC SP_CONFIGURE 'SHOW ADVANCED OPTIONS',1
GO
RECONFIGURE
GO
EXEC SP_CONFIGURE 'Database mail XPs',1
GO
RECONFIGURE
GO

-- 添加邮件账户
EXEC MSDB..SYSMAIL_ADD_ACCOUNT_SP
@ACCOUNT_NAME = 'qing_tong_qing' --邮件账户名称
, @EMAIL_ADDRESS = 'qing_tong_qing@163.com' --发送人邮件地址
, @DISPLAY_NAME = NULL
, @REPLYTO_NAME = NULL
, @DESCRIPTION = NULL
, @MAILSERVER_NAME = 'smtp.163.com' --邮件服务器地址
, @MAILSERVER_TYPE = '' --邮件协议(MS05中是支持SMTP)
, @PORT = 25 --邮件服务器端口(默认为25)
, @USE_DEFAULT_CREDENTIALS = 0
, @ENABLE_SSL = 0
, @ACCOUNT_ID =NULL

--添加PROFILE
EXEC MSDB..SYSMAIL_ADD_PROFILE_SP
@PROFILE_NAME = 'abc' --PROFILE名称
, @DESCRIPTION = 'database mail test' --PROFILE描述
, @PROFILE_ID = NULL

--映射ACCOUNT和PROFILE
EXEC MSDB..SYSMAIL_ADD_PROFILEACCOUNT_SP
@PROFILE_NAME = 'abc' --PROFILE名称
, @ACCOUNT_NAME = 'qing_tong_qing' --ACCOUNT名称
, @SEQUENCE_NUMBER = 1 ACCOUNT在PROFILE中的顺序

--利用DATABASE MAIL功能发送邮件
EXEC MSDB..SP_SEND_DBMAIL
@PROFILE_NAME = 'abc' --PROFILE名称
, @RECIPIENTS = 'qing_tong_qing@163.com' --收件人邮箱
, @BODY = 'database test' --邮件内容
, @BODY_FORMAT = 'TEXT' --邮件格式

/*
--查看邮件发送情况
USE MSDB'
GO
SELECT * FROM SYSMAIL_ALLITEMS
SELECT * FROM SYSMAIL_MAILITEMS
SELECT * FROM SYSMAIL_EVENT_LOG
*/

...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
99归一 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 szstephenzhou 的回复:]
SQL 邮件功能
[/Quote]
a蒙呀,如果要实现有警报的时候自动发送邮件,脚本该怎么写呀
勿勿 2012-03-02
  • 打赏
  • 举报
回复
billpu 2012-03-02
  • 打赏
  • 举报
回复
另外如果你是在局域网下,请向网管确认你SQL Server所在的服务器有用匿名smtp对外的权限(一般好点的设定,都会关闭这个选项)另外确认下允许用smtp发送邮件,比如110对外端口开了与否
billpu 2012-03-02
  • 打赏
  • 举报
回复
代码太多,挑几行重要的看了下
如果我没记错163现在对发送邮件需要验证了,但在你设置里并没有看到,这样垃圾邮件随便发发了 人家163会不开心的
trunjun 2012-03-02
  • 打赏
  • 举报
回复
顶起,学习,求大神给予解决。

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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