- - PR -
デフォルトメールソフトで添付ファイルの送信
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-07 17:09
お世話になります。
VB2005で、デフォルトのメールソフトを起動して、添付ファイルの送信を行おうとして、いろいろと検索してみたのですが、 Process.Start("mailto:xxxxxx") でメーラ自体は起動することはできたのですが、起動時に添付ファイルを指定する方法がみつかりませんでした。 System.Web.Mail.MailMessageを使用すると、添付ファイルを送信することはできるのですが、 メーラに設定されているアドレス帳から、宛先を指定することができません。 どなたか良い方法をご存知の方がいれば、お教えいただけないでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2006-12-08 06:39
これと言ったよい方法は無いです。いくつかの方法がありますが、いずれにも欠点があります。 mailto:を使った方法はあて先と件名までなら、ほぼどのメールクライアントでも対応します。ですが本文は対応していないクライアントも多いです。適切にエンコードして本文としてBodyに渡せば添付ファイルを送れないことも無いと思います。 もう一つはMAPIを使う方法です。ですがMAPIに対応しているクライアントは、実質OutlookとOutlook Expressだけです。これ以外のメールクライアントを使っていた場合には対応できません。 | ||||
|
投稿日時: 2006-12-08 09:46
甕星さんありがとうございます。
OutlookとOutlook Expressに対応できれば良いため、MAPIのほうを調べてみます。 | ||||
|
投稿日時: 2006-12-08 14:20
すいません、やっぱりOutlook限定じゃだめらしいため、
本文としてBodyに渡す方法を調べてみたのですが、 方法が載っているサイトを見つけることができませんでした。 どこか載っているようなサイトや、検索するための語句等を教えていただけないでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2006-12-19 18:49
kureruさん 初めまして、いたと申します。すみません、回答ではないです。 私もVB2005からデフォルトメーラーでの添付ファイルの送信を行いたいと思っていろいろ調べましたが、これといった答えが見つかりません。その後、何か解決策などは見つかりましたでしょうか? 他のメンバーさん このProcess.Start("mailto:aaa@aaa.co.jp&subject=件名&body=TEST") の方式でbodyに添付ファイルをエンコードして付ける方法としての参考記事などがありましたらよろしくお願いします。私も節に願います。 | ||||
|
投稿日時: 2006-12-20 10:19
甕星さん、はじめましてitaと申します。便乗質問させてください。 Bodyに適切にエンコードしたものを渡せば添付ファイルを送れるとのことですが、この「適切にエンコード」の部分がわかりません。 開発環境は、VB2005でWindowsアプリケーションからTO,CC,Subject,Body,添付ファイルを指定して、ユーザーのOutlookから新規のメールを表示させユーザーが宛先などを追加し、メールを送信させたいと思っています(Kureruさんと同様だと思います) この投稿を見てエンコードをいろいろ調べましたが、下記のBASP21のBase64というメソッドで添付ファイルをエンコードするところまでは判りましたが、これをどうやってBodyに渡せば良いかがわかりません。 下記のソースでやりたいのは、本文は「TEST」で添付ファイルとして「test.doc」を付けたいと思っています。 Dim bobj As New BASP21Lib.Basp21 bobj.Base64("D:test.doc" & vbTab & "D:testdoc.txt", 6) Dim sr As New System.IO.StreamReader("D:testdoc.txt", System.Text.Encoding.GetEncoding(932)) Dim s As String = sr.ReadToEnd() sr.Close() Dim body$ = "TEST" & s Process.Start("mailto:aaa@aaa.co.jp&cc=ccc@ccc.co.jp&subject=件名&body=" & body$) bobj = Nothing どうかよろしくお願いします。 | ||||
|
投稿日時: 2006-12-20 11:10
や、私も完璧に理解しているわけではないです。要はMIMEが普及する以前の添付ファイル方式はBASE64エンコードしたデータを埋め込んでいたので、同様の方法を取れば出来るはず・・・程度の認識です。 | ||||
|
投稿日時: 2006-12-20 11:28
そうでしたか!ひじょ〜に残念です。 どなたか、この辺りに詳しい方いらっしゃいませんか?このようなニーズはあると思うのですが? (単純にメールを送信するのなら、アプリから直接送信すれば良いですが、ユーザーが今まで蓄積したアドレス帳から宛先を選択できることと、ユーザーのメーラーに送信簿として記録が残るというメリットがあるのでこの方式にこだわりたいと思っています。) 回答ありがとうございました。 |