VB.netでMAPIを使ったメール自動返信プログラムを作成中です。
(MAPIクライアントとしてはOEを使用)
アドレス(RecipAddress)、本文(MsgNoteText)などを指定した後
AxMAPIMessage1.Send で送信をしたいのですが、実行すると、
「メッセージを送信してよいですか?」という意味のダイアログ、
(Send(False)の場合)もしくは、メッセージ作成の画面
(Send(True)の場合)が出てしまい、自動的には、メッセージが
OEの送信トレイに格納されません。(格納さえされれば、OE側で
自動的に送受信させられるのですが...)
メールの自動返信プログラムなので、「送信しますか?」
のダイアログがでて欲しくないのです。
どうしたらよいか、どなたか教えていただけませんか?
(もしくは、VB6.0なら、こう動くよ。とか。)
よろしくお願いします。
VB6で作成したものですが、参考までに
'
'********************************
' メール送信処理
'
'********************************
'
' MAPI セッションを開始
MAPISession1.SignOn
' メッセージを送信
Call sendmapimessage
' MAPI セッション終了
MAPISession1.SignOff
End
End Sub
Private Sub sendmapimessage()
' エラーが発生した場合はエラー処理ルーチンへ
On Error GoTo erroroccur
With MAPIMessages1
' メッセージセッションとの関連付け
.SessionID = MAPISession1.SessionID
' メッセージを作成
.Compose
' 宛先データを設定
.RecipDisplayName = rShop_Name
' 送信アドレスをセット
.RecipAddress = rAdd
.MsgSubject = "データ"
.MsgNoteText =" メッセージ"
.AttachmentIndex = 0
' 添付ファイル名
TxtDataFile$ = "エクセルデータ".xls"
.AttachmentPathName = TxtDataFile$
.Send False
End With
Exit Sub
erroroccur:
MsgBox Err.Number & vbCr & _
Err.Description, _
vbExclamation
End
End Sub
MAPIベースではなく、CDOSYSベースになりますが、
System.Web.Mail.SmtpMailクラスは利用できませんか?
セキュリティチェックに引っかかっているだけだと思います。
具体的な解決方法は、以下のとおりです。
1.OutLook Expressを起動。
2.「ツール(T)」メニュー → 「オプション(o)」を選択。
3.”オプション”ウィンドウの「セキュリティ」タブをクリック。
4.”ウィルス防止”項目のチェックボックスで「ほかのアプリケーションが私の名前でメールを送信しようとしたら警告する」のチェックをはずす。
5.「OK」ボタンをクリック。
以上。
これで、メールを送信する際にダイアログボックスが表示されなくなるはずです。
一度、チャレンジしてみてはいかがでしょうか?