定期メール受信
- 題名: 定期メール受信
- 著者: 旅がらす
- 日時: 2006/09/19 11:36:00
- ID: 17597
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 定期メール受信
- 著者: 渋木宏明(ひどり)
- URL: http://hidori.jp/
- 日時: 2006/09/19 12:25:16
- ID: 17598
- この記事の返信元:
-
[17597] 定期メール受信 旅がらす 2006/09/19 11:36:00
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 定期メール受信
- 著者: 旅がらす
- 日時: 2006/09/21 10:46:03
- ID: 17643
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 定期メール受信
- 著者: 渋木宏明(ひどり)
- URL: http://hidori.jp/
- 日時: 2006/09/21 18:44:22
- ID: 17649
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 定期メール受信
- 著者: 旅がらす
- 日時: 2006/09/21 23:57:10
- ID: 17650
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: 定期メール受信
- 著者: 旅がらす
- 日時: 2006/09/25 12:53:06
- ID: 17673
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
2006/09/19(Tue) 13:47:41 編集(投稿者)
2006/09/19(Tue) 13:47:35 編集(投稿者)
現在、定期間隔でメール受信し、受信データをDB登録するWinアプリを作成しています。
------------------------------------------------------------
Dim oApp As Outlook.Application = CreateObject("Outlook.Application")
Dim obj1 As Object = oApp.Explorers.Item(1).CommandBars("Menu Bar")
Dim obj2 As Object = obj1.Controls(5) 'ツール
Dim obj3 As Object = obj2.Controls(1) '送受信
obj3 = Nothing
obj2 = Nothing
obj1 = Nothing
Dim oNS As Outlook.NameSpace = oApp.GetNamespace("MAPI")
'受信トレイからメール取得
Dim oInbox As Outlook.MAPIFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
Dim oItems As Outlook.Items = oInbox.Items()
Dim oMsg As Outlook.MailItem
For i As Integer = 1 To oItems.Count 'Outlookはindex1からカウント
※ここで受信メールを1件ずつDB登録
Next
oNS.Logoff()
oApp = Nothing
oNS = Nothing
oItems = Nothing
oMsg = Nothing
------------------------------------------------------------
ここでいくつか問題点(改善したい点)があるので質問させてください。
1.最新メールの受信処理をもっとスマートにやる方法があるか。
2.コードからメール情報にアクセスした場合、警告ダイアログが出てしまうが、
これを出さない(あるいは自動でOKを押下することは可能か)
3.受信メールの送信者情報をSenderNameで取得した場合、
Outlookのアドレス帳に登録されているデータだとメールアドレスではなく登録名称を取得してしまう。
→常にメールアドレス情報を取りたい。(SenderEmailAddressは使えないようです)
4.添付ファイル名は取得できるが、添付ファイルのバイナリデータが取得したい。
SaveAsFileでローカルに一時的に保存して、そこから再取得して変換するしかないのでしょうか。
そして最後に、
5.Outlookを使うよりももっと手軽に受信メールのDB登録機能を実現できる方法はないのか。
→MAPI.sessionだと、FolderやMessage型が使用不可でした(CDO.dllのヴァージョン?)
長々と書いてしまいましたが、
何か良いお知恵があればお教えください。
よろしくお願いいたします。