电子邮件发送程序? [英] Email Sending Procedure?

查看:91
本文介绍了电子邮件发送程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用强大的构建过程向桌面的所有用户发送电子邮件。在此表中,我有两列,即Ename和Ecount。如果Ecount达到大于3,则必须停止或退出该过程。例如,Ecount == 3,那么这个用户将永远不会收到消息。



I am using the awesome built procedure for sending emails to all users of a table..In this table I have two columns namely Ename and Ecount. If Ecount reaches greater than 3, then the procedure must be stopped or exit. For example the Ecount == 3, then this user will never receive message.

DECLARE 
@id nvarchar(MAX),
@Counter int,
@CheckCount int
DECLARE CC1 CURSOR READ_ONLY
FOR
SELECT Ename, Ecount
FROM TestDB.dbo.TestEmail
OPEN CC1
FETCH NEXT FROM CC1 INTO 
@id, @Counter
WHILE @@FETCH_STATUS = 0
BEGIN

	Begin
	EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'Boom',
    @recipients = @id,
    @body = 'The stored procedure finished successfully. #$%',
    @subject = 'Automated Success Message' ;
	update TestDB.dbo.TestEmail set Ecount=Ecount+1 where Ename=@id 
	print @id
	END
    Select @CheckCount= Ecount from TestDB.dbo.TestEmail where Ename=@id
    print @CheckCount
    If @CheckCount > 3
	Begin
  	exec msdb.dbo.sp_update_job @job_id = N'6a81d6b3-af2d-4a27-b688-b9c69098f840', @enabled = 0
	return
	PRINT 'Count reached 3+'
	End 
	FETCH NEXT FROM CC1 INTO 
	@id, @Counter
END
CLOSE CC1
DEALLOCATE CC1





目前,我没有收到任何电子邮件..但早些时候,当我明确使用我的电子邮件而不是@id时,我每次点击执行此脚本时都会收到电子邮件。请告诉我我错在哪里..



Currently, I am not receiving any email whatsoever.. but earlier I was receiving emails every single time I hit execute this script when I used my email explicitly instead of @id. Please tell me where I am mistaking..

推荐答案

%',
@subject ='自动成功消息';
更新TestDB.dbo.TestEmail设置Ecount = Ecount + 1其中Ename = @ id
print @id
END
从TestDB.dbo.TestEmail中选择@ CheckCount = Ecount Ename = @ id
print @CheckCount
如果@CheckCount> 3
开始
exec msdb.dbo.sp_update_job @job_id = N'6a81d6b3-af2d-4a27-b688-b9c69098f840',@ enabled = 0
返回
PRINT'计数达到3 +'
结束
FETCH NEXT FROM CC1 INTO
@id,@ Counter
END
CLOSE CC1
DEALLOCATE CC1
%', @subject = 'Automated Success Message' ; update TestDB.dbo.TestEmail set Ecount=Ecount+1 where Ename=@id print @id END Select @CheckCount= Ecount from TestDB.dbo.TestEmail where Ename=@id print @CheckCount If @CheckCount > 3 Begin exec msdb.dbo.sp_update_job @job_id = N'6a81d6b3-af2d-4a27-b688-b9c69098f840', @enabled = 0 return PRINT 'Count reached 3+' End FETCH NEXT FROM CC1 INTO @id, @Counter END CLOSE CC1 DEALLOCATE CC1





目前,我没有收到任何电子邮件..但早些时候,当我明确使用我的电子邮件而不是@id时,我每次点击执行此脚本时都会收到电子邮件。请告诉我我错在哪里..



Currently, I am not receiving any email whatsoever.. but earlier I was receiving emails every single time I hit execute this script when I used my email explicitly instead of @id. Please tell me where I am mistaking..






你把Ename列值放在@id变量中而你必须将emailID列值放在@id中。请检查并确认。
Hi,

You are putting Ename column value in @id variable whereas you have to put emailID column value in @id. Please check and confirm.


这篇关于电子邮件发送程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆