Web系初心者です。
Win2003環境で、VB2005を使ってメール送信機能を実現しようとしています。
以下のサンプルのような作りで送信自体は問題無くできるようになりました。
求められているものは、数分から数十分の間に数百件から数万件の
それぞれ別のアドレス、別な内容のメールを送信したいのです。
以下のSendMail関数をループで回して、宛先と本文を引数に回そうと
考えていたのですが、”SMTPMail.Send(Mail)”で時間が掛かり過ぎて
います。
テストしてみると1件の送信に約6秒、50件に送信した場合、
開始から終了までに約6分ほどかかりました。
そこで質問です。
1.これをもっと早くしたいのですが、どのような方法がありますか?
簡単に言えば、送信したい全てのアドレスと本文を設定した後に、
”SMTPMail.Send(Mail)”を1回コールして終わり。の様にできれ
ばうれしいのですが。(それができるとして早くなるのかな?)
2.以下のプログラムでは無理な場合、他の方法はありますか?
3.どこかにサンプル的な物はありませんか?
---サンプル ここから---------
Function SendMail()
Dim SMTPMail As System.Web.Mail.SmtpMail
Dim Mail As New System.Web.Mail.MailMessage
SMTPMail.SmtpServer = "smtp.dummy.com"
Mail.From = "dummyaddr@dummy.com" '送信元アドレス
Mail.To = "sendaddr@dummy.com" '送信先アドレス
Mail.Subject = "Test" 'タイトル
Mail.BodyEncoding = System.Text.Encoding.UTF8 'メールの本文のエンコードタイプ指定
Mail.BodyFormat = System.Web.Mail.MailFormat.Text
'本文
Mail.Body = "メールのテスト送信" & vbCrLf _
& "こんにちは!" & vbCrLf _
& "おげんきですか?" & vbCrLf
'メールを送る
SMTPMail.Send(Mail)
End Function
---サンプル ここまで---------
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
サンプルの部分をスレッド化するというのはどうでしょうか?
お返事ありがとうございます。
やはりスレッド化ですかね~。
ちょっとサンプル的にスレッド化にしてみて時間を計測してみます。
ありがとうございました。
No.2
- 回答日時:
VBで使えるインターネットメール送受信コンポーネント
nMail.dll があります。
http://www.nanshiki.co.jp/lib/nmail.html
私はこれを使って、EXCELシートに、宛先、主題、本文ファイルへのパス、、添付ファイルへのパスを並べておいて、VBAで順次送信するように組みました。早いです。数100Kbのメールが100件ぐらいあっても1~2分ぐらいでした。
この手のプログラムは、自身でメールサーバーを起てないと場合、連続して送信しすぎるとSPAM行為と判断されますよ!!
お返事ありがとうございます。
nMail.dll ってよさそうですね。
ただ残念な事に業務プログラムのため社外の製品等は使えないのです。
勿論、迷惑メールを送信するシステムを構築する訳ではありません。(^^;
簡単に言えば 出退勤管理プログラムです。会社に入った時間、会社を出た時間にそれぞれのアドレスにメール送信するような物になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Gmail mail. 1 2023/04/26 18:00
- Outlook(アウトルック) Outlookのメール送信を取り消す方法 1 2022/11/17 13:10
- Gmail 家から自分のg-mailで添付ファイル付きのメールを4通、職場の自分宛てに送りました。次の日に見ると 3 2022/09/08 12:35
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- 迷惑メール・スパム スパム・メールを転送した? 2 2023/02/09 12:21
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- その他(メールソフト・メールサービス) メールが送信できない 発信側でできる対策 3 2023/05/11 10:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
VBでメールを送る時のSMT...
-
ブラウザの更新ボタン
-
HPの更新をしたら自動でメール...
-
処理の早いメール送信プログラム
-
PHPでping送信。送信できたか知...
-
UWSCにつきまして
-
ホームページのフォームから送...
-
一定時間毎に同じ動作を繰り返...
-
ロリポップと、phpで自動の返信...
-
【エクセルVBA】メール送信前に...
-
mb_send_mail関数により送信さ...
-
二重投稿防止方法
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
コマンドプロンプトで添付ファ...
-
存在しないメールアドレスかど...
-
VB6にてメールを送信する方法
-
ヒアドキュメントを利用してメ...
-
メールアドレスの存在確認はで...
-
Bookを閉じて保存した時のみ実...
-
AccessのDoCmd.SendObjectについて
-
submitボタンの二重送信について
-
リファラが取得できない?
-
HPの更新をしたら自動でメール...
-
javamailで220の応答が遅い
-
Q)PHPでメール送信について
-
<HTML>~入る タグ が無いから ...
-
mail関数を使うと遅いので
-
phpメールフォームから送信され...
-
ロリポップと、phpで自動の返信...
-
ループの中で mailItemObj.Disp...
-
ランダムな文字列を生成しその...
-
VB.NETでフリーメールアドレス...
おすすめ情報