所以我试图在我的应用程序的 for 循环中启动一个新线程。我根本不熟悉线程,所以我需要一些信息。
我使用这种方法通过 Outlook 发送电子邮件:
public void sendEMailThroughOUTLOOK(string recipient, string subject, string body)
{
try
{
// Create the Outlook application.
Outlook.Application oApp = new Outlook.Application();
// Create a new mail item.
Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
// Set HTMLBody.
//add the body of the email
oMsg.Body = body;
oMsg.Subject = subject;
// Add a recipient.
Outlook.Recipients oRecips = (Outlook.Recipients)oMsg.Recipients;
// Change the recipient in the next line if necessary.
Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add(recipient);
oRecip.Resolve();
// Send.
oMsg.Send();
// Clean up.
oRecip = null;
oRecips = null;
oMsg = null;
oApp = null;
}//end of try block
catch (Exception ex)
{
}//end of catch
//end of Email Method
}
在 foreach 循环中,我每次迭代都会发送一封电子邮件。
但是我需要延迟这些电子邮件,但我不想让 UI 线程休眠。
几个小时前我问了一些答案,但无法经常检查我的问题。
我尝试了他们的一些建议,例如使用这个:
Thread oThread = new Thread(new ThreadStart((sendEMailThroughOUTLOOK(recipient, subjectLine, finalbody)));
但我得到一个错误。它说它需要一个方法名称......而且我确实有一个方法名称。是因为我的方法的论点吗?