tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005によるメール送信処理-後始末
記事No6382
投稿日: 2007/10/01(Mon) 17:26
投稿者豊田
どうも、よろしくお願いいたします。

vb2005にてメール送信プログラムを作成しましたが
送信するタイミング?に付いてご教授ください。

Dim SMTP As New System.Net.Mail.SmtpClient("サーバ名")
Dim Message As New System.Net.Mail.MailMessage("From","To","Sub","Body")
SMTP.Send(Message)
Message.Dispose()

上記のようなソースで処理を行いましたが
送信するのは、フォームを閉じたタイミングでした。

閉じた後に送信されるメールは届きます。

SMTP.Send(Message)

このタイミングで送信したいのですが
どの様にしたら宜しいでしょうか?

お願いします。

[ツリー表示へ]
タイトルRe: VB2005によるメール送信処理-後始末
記事No6390
投稿日: 2007/10/02(Tue) 20:47
投稿者花ちゃん
> Dim SMTP As New System.Net.Mail.SmtpClient("サーバ名")
> Dim Message As New System.Net.Mail.MailMessage("From","To","Sub","Body")

  SMTP.ServicePoint.MaxIdleTime = 1

> SMTP.Send(Message)
> Message.Dispose()

では、どうでしょうか?

[ツリー表示へ]
タイトルRe^2: VB2005によるメール送信処理-後始末
記事No6393
投稿日: 2007/10/03(Wed) 11:18
投稿者豊田
> > Dim SMTP As New System.Net.Mail.SmtpClient("サーバ名")
> > Dim Message As New System.Net.Mail.MailMessage("From","To","Sub","Body")
>
>   SMTP.ServicePoint.MaxIdleTime = 1
>
> > SMTP.Send(Message)
> > Message.Dispose()
>
> では、どうでしょうか?

回答ありがとうございます。
SMTP.ServicePoint.MaxIdleTime = 1
を追加して見ましたが、現象としては同じでした。

送信処理を切り離す形で対応しようと思います。

[ツリー表示へ]
タイトルRe^3: VB2005によるメール送信処理-後始末
記事No6402
投稿日: 2007/10/04(Thu) 07:27
投稿者花ちゃん
前記で効果がないようなら、送信後 System.Windows.Forms.Application.DoEvents()
を実行して見て下さい。
それでもだめなら、ウィルスソフト等のチェックを送信時に動作させないように
してテストして見て下さい。
私の環境では、System.Windows.Forms.Application.DoEvents() が一番有効でした。


      SMTP.ServicePoint.MaxIdleTime = 1
      SMTP.Send(mail)      '送信
      System.Windows.Forms.Application.DoEvents()
      mail.Dispose()

[ツリー表示へ]