VBでメールに指定した文章を書いてメーラーが立ち上がるソフトを作ろうかと思っていましたがメーラーによって可能であったり不可能であったりするようです。 それならば指定したアドレスに指定したファイルを添付してメーラーを立ち上げることは可能でしょうか? 可能であればアドバイスをお願いします。
VB.netならこれが参考になるかも。
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/DefaultMail
で、VBのバージョンは? 6.0で良いのかな。
> メーラーによって可能であったり不可能であったりするようです。
まぁ、メーラといっても千差万別ですしね。
具体的には、何と言うメーラを起動しようとしているのでしょうか?
それによって、回答も変わってきます。
たとえば Word や Outlook であれば、コマンドライン や オートメーションにて
ある程度制御する事ができるかも知れませんが、それとは逆に、外部から
プログラム制御できるようには設計されていないメーラも、少なからず存在します。
もしも、利用可能なメーラを限定できないのであれば、確実に行える事は、せいぜい
mailto に関連付けられたメーラを起動するという程度に留まってしまうでしょう。
起動した後、特定のメールボックス(アカウント)を選択したり、かつ、メールの
編集画面を呼び出し、送信先アドレス、本文、さらには添付ファイルの指定まで
行えるかどうか、となると、それはメーラ側の実装依存となりますので……。
# たとえ、メーラ側が mailto: による指定に対応していたとしても、
# http://hp.vector.co.jp/authors/VA014833/rfc2368J.html
# http://www.ietf.org/rfc/rfc2368.txt
# それをどこまで解釈するのかは、メーラ側の実装依存です。
で、メーラの起動が目的ではなく、メールの送信自体が目的なのであれば、
それ自体は可能だと思います。(いわば、メーラの自作ですね)
実際、WinSock を使って作成されたVB製メーラもありますし("sir-mail"とか)、
MAPI が利用可能であれば、VB6 付属の「SAMPLES\VB98\misc\Vbmail\PRJMAPI.VBP」等を
参考にする事もできるでしょう。あるいは、CDO ライブラリを使う手法や、
BlatJ や BASP21 / BASP21 Pro などを使う手法もあります。
こちらの情報も参考にどうぞ
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/mail.aspx
もう1つの方法としてメール送信機能を持ったコンポーネントを組み込んで使うという手があります。有償製品が多いのでアマチュア向きではありませんけど。
魔界の仮面弁士様、ひろさん。 沢山の情報をありがとうございました。
自分の目的を良く考えると魔界様のアドバイスのように必ずしもメーラーの起動が目的ではありませんでした。 テキスト、添付ファイルが送れればOKです。
紹介していただいたVB付属のサンプルやひろさんアドバイスのMSのサイトを見たらMAPIにより簡単にできそうなのであえて不特定のメーラーを起動しない方法でMAPIで作り成功しました。 ありがとうございました。
ツイート | ![]() |