0
基本上这个脚本会被告知到每10分钟,但我只希望脚本在晚上9点的时间运行 - 凌晨4点(伦敦时间)任何人都可以在这方面帮助?C#脚本:我需要添加一个时间延迟
此外,我想限制的脚本发送不超过500封电子邮件一小时。
/*Email Client configuration. Here you will need to specify Server, user name and password for your SMTP server, and also testing tag*/
string SMTPServer = "mail.justshipit.net";
int SMTPPort = 26;
string UserName = "no-reply+justshipit.net";
string Password = "00000";
string FromEmail = "[email protected]";
string FromName = "Zoozio @ Amazon";
//email subject and email body
string Subject = "Please Leave feedback for your [{Source}] order from SUPER COOL STORE";
string eBayEmailBody = "Hello, [{Name}].\r\n\r\nYou recently purchased:\r\n\r\n[{ItemList}]\r\n\r\nWe hope everything was satisfactory and would really appriciate it if you could go to www.amazon.co.uk/feedback and leave us some positive feedback\r\nif you had any issues please get in contact with us ASAP as we want to sort things out.\r\n\r\nCall Us:0843 289 2766\r\n\r\nMany Thanks\r\nAdam\r\nCustomer Care Manager ";
/*query syntax. Here we will select all orders processed 14 days ago but not older than 1 month, that don't have FEEDBACK email sent
and order item table. Two queries in one request
*/
string query [email protected]"SELECT pkOrderId,cEmailAddress, cFullName, [Source]
FROM [Order] o
LEFT OUTER JOIN Order_LifeHistory ls on ls.fkOrderId = o.pkOrderID and ls.fkOrderHistoryTypeId='EMAIL_SENT' and ls.Tag='FEEDBACK'
WHERE
o.bProcessed = 1 AND o.HoldOrCancel=0 AND o.dProcessedOn > DATEADD(D,-10,GETDATE()) AND ls.sid_history is null
AND o.Source IN ('AMAZON');
SELECT pkOrderId,ItemNumber = oi.ItemNumber,ItemTitle = sis.cItemName
FROM [Order] o
INNER JOIN [OrderItem] oi on oi.fkOrderID = o.pkOrderID
INNER JOIN [StockItems] sis on sis.pkStockID = oi.fkStockID
LEFT OUTER JOIN Order_LifeHistory ls on ls.fkOrderId = o.pkOrderID and ls.fkOrderHistoryTypeId='EMAIL_SENT' and ls.Tag='FEEDBACK'
WHERE
o.bProcessed = 1 AND o.HoldOrCancel=0 AND o.dProcessedOn > DATEADD(D,-10,GETDATE()) AND ls.sid_history is null
AND o.Source IN ('AMAZON');";
//SELECT pkOrderId,ItemNumber = oi.ItemNumber,ItemTitle = sis.cItemName
//FROM [Order] o
//INNER JOIN [OrderItem] oi on oi.fkOrderID = o.pkOrderID
//INNER JOIN [StockItems] sis on sis.pkStockID = oi.fkStockID
//LEFT OUTER JOIN Order_LifeHistory ls on ls.fkOrderId = o.pkOrderID and //ls.fkOrderHistoryTypeId='EMAIL_SENT' and ls.Tag='FEEDBACK'
//WHERE
//o.bProcessed = 1 AND o.HoldOrCancel=0 AND o.dProcessedOn > DATEADD(D,-10,GETDATE()) //AND ls.sid_history is null
//AND o.Source IN ('AMAZON');";
使用内置的[Windows任务调度程序(http://en.wikipedia.org/wiki/Windows_Task_Scheduler)这一点。不需要构建定制应用程序来安排脚本的运行。 – Oded 2012-08-03 14:22:16
我在未来的建议,当你发布你考虑发布代码的问题不暴露你的业务/客户的内部架构,基础设施和身份:) – 2012-08-03 14:23:04