我正在努力找到一种使用TestComplete回复收件箱中的电子邮件的简单方法.
目前我使用的代码可以在JScript部分的http://support.smartbear.com/viewarticle/9022/中找到.
我已经设法创建并发送基于身体的电子邮件,并根据模拟回复.但是,这还不够,因为我正在测试的软件需要有一个真实的回复,将其链接到之前发送的消息,以将其放入正确的用户邮箱.
任何帮助将不胜感激.如果您需要更多信息,请询问.
最佳答案 您应该可以通过COM使用Outlook时没有问题.我在您提到的文章中修改了示例,以演示如何执行此操作.
function Test()
{
Log.Message(replyToMessage2010("account name", "sender email", "Test 1234321", "This is a reply"));
}
function replyToMessage2010(accountName, senderEMail, eMailSubject, replyText)
{
var OutlookApplication = Sys.OleObject("Outlook.Application");
var NamespaceMAPI = OutlookApplication.GetNamespace("MAPI");
// Check whether the specified account exists:
if (NamespaceMAPI.Accounts.Item(accountName) != null)
{
NamespaceMAPI.SendAndReceive(false);
// Get the "Inbox" folder
var inbox = NamespaceMAPI.Folders(accountName).Folders("Inbox");
var items = inbox.Items;
for (var i = 1; i < items.Count + 1; i++)
{
if (items.Item(i).Subject == eMailSubject &&
items.Item(i).SenderEmailAddress == senderEMail && items.Item(i).UnRead)
{
var reply = items.Item(i).ReplyAll();
reply.Body = replyText + reply.Body;
reply.Send();
return true;
}
}
return false;
} else
{
OutlookApplication.Quit();
return false;
}
}