通过SQL Server Express发送的邮件 - 邮件(Id:17)排队

时间:2016-05-16 11:55:22

标签: sql-server email

我在线跟踪指南,通过SQL Server Express发送邮件,但它一直说“邮件(Id:1)排队等待”,最多17次,因为我现在尝试了17次。

电子邮件是虚拟邮件,而不是我的真实邮件。这只是一个例子。我在SQL Server Management Studio中使用我的真实邮件。我的老师叫SQL Server Express。

代码的第一部分(创建sysmail帐户)

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'MailTest',
    @description = 'Sent Mail using MSDB',
    @email_address = 'testmail@mail.com',
    @display_name = 'Landlyst',
    @username='testmail@mail.com',
    @password='password',
    @mailserver_name = 'mail.google.com'

代码的第二部分(创建数据库配置文件)

EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'MailTest',
    @description = 'Profile used to send mail'

第三部分代码(将数据库邮件帐户添加到配置文件)

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'MailTest',
    @account_name = 'MailTest',
    @sequence_number = 1

第四部分代码(授予所有人权限)

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'MailTest',
    @principal_name = 'public',
    @is_default = 1 ;

第五部分代码(使程序能够发送邮件,而不是出错)

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Database Mail XPs', 1;
GO
RECONFIGURE
GO

第六部分代码(发送测试邮件)

EXEC msdb.dbo.sp_send_dbmail 
     @profile_name = 'MailTest', 
     @recipients = 'receiver@queryingsql.com', 
     @subject = 'Mail Test', 
     @body = 'Mail Sent Successfully', 
     @body_format = 'text'

我不擅长SQL,但我需要将其作为用户的触发器。 有人可以帮帮我吗?

sql batch

1 个答案:

答案 0 :(得分:0)

我运行了所有与您相同的命令(配置文件名为“ admin”),并且我的msdb.dbo.sysmail_log表仍然为空。我还遵循step 5 in this link,它建议运行以下命令(首先备份注册表)。我在注册表中进行了搜索,以查找UseDatabaseMail和DatabaseMailProfile的位置。但是,该命令不起作用,因此我在注册表中手动更改了值。

USE msdb
GO
EXEC master.dbo.xp_instance_regwrite
N'HKEY_LOCAL_MACHINE',
N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.SQLEXPRESS\SQLServerAgent',
N'UseDatabaseMail',
N'REG_DWORD', 1
EXEC master.dbo.xp_instance_regwrite
N'HKEY_LOCAL_MACHINE',
N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.SQLEXPRESS\SQLServerAgent',
N'DatabaseMailProfile',
N'REG_SZ',
N'admin'

但是,这也确实发送了我排队的邮件。 This link建议尝试直接运行Databasemail.exe。我搜索了“ C:\ Program Files \ Microsoft SQL Server \ MSSQL13.SQLEXPRESS \ MSSQL \ Binn”中的“数据库邮件”。并以管理员身份运行。我收到错误消息:“无法安装以下功能:.NET Framework 3.5(包括.NET 2.0和3.0)” 成功安装.NET 3.5后,已发送我排队的邮件!