そのため、アプリケーションの 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)));
しかし、エラーが発生します。メソッド名を期待していると言っています...そして私はそこにメソッド名を持っています。私のメソッドの引数が原因ですか?