我的服务器上托管了一个应用程序。此应用程序将电子邮件发送到用户列表。假设该列表有10000个用户。我将列表分为三个部分,并将每个部分分配给一个单独的线程来发送电子邮件。问题是,当我去我托管我的应用程序并运行应用程序的服务器时,它会将电子邮件发送到我创建的所有3个列表, 但是当我在本地电脑上远程浏览应用程序时。电子邮件没有发送。
任何人都可以帮助我解决问题以及如何解决问题。
提前谢谢 问候答案 0 :(得分:0)
嗨,这是代码。
# region /////Split Users List in 3 Parts////
ArrayList thList1 = new ArrayList();
ArrayList thList2 = new ArrayList();
ArrayList thList3 = new ArrayList();
ArrayList thListId1 = new ArrayList();
ArrayList thListId2 = new ArrayList();
ArrayList thListId3 = new ArrayList();
int countList = arlistuid.Count / 3;
int count;
for (count = 0; count < arlistuid.Count; count++)
{
if (count < countList)
{
thList1.Add(arlistuid[count]);
thListId1.Add(arlistid[count]);
}
else if (count >= countList && (count < countList + countList))
{
thList2.Add(arlistuid[count]);
thListId2.Add(arlistid[count]);
}
else
{
thList3.Add(arlistuid[count]);
thListId3.Add(arlistid[count]);
}
}
# endregion
# region ///Send Email using 3 threads
if (thList1.Count > 0)
{
object thdargs = new object[2] { thList1, thListId1 };
Thread thd1 = new Thread(new ParameterizedThreadStart(SplitListEmail));
thd1.IsBackground = true;
thd1.Name = "Thread1";
thd1.Start(thdargs);
}
if (thList2.Count > 0)
{
object thd2args = new object[2] { thList2, thListId2 };
Thread thd2 = new Thread(new ParameterizedThreadStart(SplitListEmail));
thd2.IsBackground = true;
thd2.Name = "Thread2";
thd2.Start(thd2args);
}
if (thList3.Count > 0)
{
object thd3args = new object[2] { thList3, thListId3 };
Thread thd3 = new Thread(new ParameterizedThreadStart(SplitListEmail));
thd3.IsBackground = true;
thd3.Name = "Thread3";
thd3.Start(thd3args);
}
# endregion