こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBで添付ファイル付きのメールを送信したい

こんにちは。いつもお世話になっております。

現在、VB6.0でメーラーを起動し、そこへ添付ファイルを付けて送信を行うと言う作業を行っております。
ユーザー側で、実行ボタンを押したときに送信まで行ってしまうか、送信はせず、新規メールの起動だけで終るかを選択できるようになっています。
自分なりに色々と調べて、MAPIを使用したプログラムでの操作はできたのですが、テストメーラーをOutlook ExpressからMicrosoft Outlookに変更したら、送信部分が上手く動作しませんでした。
どのメーラーでも上手く動くように設定したいのですが、何か方法はありませんでしょうか?
また、送信時に出てしまう確認メッセージを出さずに自動送信する方法はありますか?MAPIを使用せずに添付ファイル付きのメールを送信する方法でも構いません。
宜しくお願い致します。

MAPISession1.SignOn
MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.Compose

MAPIMessages1.RecipType = mapToList
'あて先欄に表示させたい文字
MAPIMessages1.RecipDisplayName = "テストさん"
'あて先のメールアドレス
MAPIMessages1.RecipAddress = "SMTP:メールアドレス"
MAPIMessages1.MsgSubject = "納品明細"
MAPIMessages1.MsgNoteText = "本文内容" & vbCrLf
MAPIMessages1.AttachmentPathName = App.Path & "\納品明細.xls"

'チェック有りの場合は自動送信
If chkAuto.Value = 0 Then
 'Falseにすると自動送信になります
 MAPIMessages1.Send True
Else
 MAPIMessages1.Send False
End If

MAPISession1.SignOff

投稿日時 - 2005-10-26 11:00:14

QNo.1736752

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

質問です。

>Outlook ExpressからMicrosoft Outlookに変更したら、送信部分が上手く動作しませんでした。

送信部分とは?
>MAPISession1.SignOff
ですか?

エラーが出たのですか?

エラーが出たのであれば、エラー番号とエラー内容を公開してくれませんか?

もしかしたらですが、、、単にOutlookのセキュリティ設定かもしれないので。。。

投稿日時 - 2005-10-26 14:49:21

補足

ええと、先ほど補足部分に書いたのですが、エラーが出たのは
MAPIMessages1.Send (True 又は False)の部分です。

エラーメッセージは「予期せぬエラーが発生しました」
というものです。

MAPIを使わなくても、mailtoで添付ファイルつきのメールが送信可能ならばそれでもいいのですが、ファイルを添付する方法がわからず困っているのですっ(>_<)

投稿日時 - 2005-10-26 14:52:36

お礼

色々と有難うございました。

結局上司から仕様の変更指示がありまして、現在の動作のままで良いと言われました。
Expressの方で動けばいいそうです…(-ω-)

正直、すっきりしない終わり方ですが次にやらないといけないこともあるのでまた自分で色々と調べて考えてみようと思います。
有難うございました。

投稿日時 - 2005-10-27 11:36:17

ANo.2

>フリーソフトなどを使うと、不具合が起こった際

だったらbasp21 proだったらよいのかな?
http://www.b21soft.co.jp/basp21/

投稿日時 - 2005-10-26 12:18:55

補足

すみません。説明不足でした。

一応、お客様の依頼を受けてソフトを開発している状況なので、当方でシステムのメンテナンスが出来ないものは使いたくない…という状況です。
ですので他製品を組み込む…ということは出来ないので、VBの環境設定だとか、Windowsのシステムで解決したいのです。sendmailでファイルを添付し、自動送信できる方法があればそれが一番いいのかな…と思っているのですが、ファイルの添付方法がわからず、結局今の段階ではMAPIしか分かりません。けれど、その方法ではOutlookExpressしか動作せず、MSOutlookではMAPIMessages1.Send True
(又はFlase)の部分でエラーが返ってきてしまいました。
「どのメーラーでも」と書きましたがせめて上記二つのメーらで動くようにしたいのです。

投稿日時 - 2005-10-26 12:58:08

ANo.1

どうしても汎用のメーラーを利用しないといけないのですか?
メールを送信するだけならフリーソフトのBASP21を利用すれば簡単にメールの送信をアプリケーション内に組み込むことはできますが。
ファイルの添付も簡単ですよ。

回答になってるかな?

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html

投稿日時 - 2005-10-26 11:18:27

お礼

早速のご解答有難うございます。

どうしても…という訳ではないのでしょうが、「設定されているメーラーで」という指示を受けている以上それで何とかしたいのです。
フリーソフトなどを使うと、不具合が起こった際に当方で対応が出来ないのでそれが問題なのだと思います。

投稿日時 - 2005-10-26 11:25:05

あなたにオススメの質問