Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: mail Добавлено: 08.06.05 13:56  

Автор вопроса:  mr_Frank | Web-сайт: subaru.nv-avto.ru | ICQ: 316417 
Кто знает как при получении почты от письма отделить attach файлы. И как при отправке письма отпровлять не один а несколько attach файлов

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Агент Смит



ICQ: 147404128 

Вопросов: 12
Ответов: 128
 Web-сайт: www.bbsoftware.ru
 Профиль | | #1
Добавлено: 08.06.05 15:19
Смотри объект MAPI - там всё это есть.
Тебе нужно следующее:

MAPIMessages.MsgNoteText - читает сообщение, дабы без этого нельзя посчитать атачменты
MAPIMessages.AttachmentCount - возвращает количество аттачменов
FileCopy MAPIMessages.AttachmentPathName, FileName - сохраняет атачмент с указанным именем в переменной filename

теперь о добавлении вложений:
MAPIMessages.AttachmentPosition - задаёт номер текущего атачмена
MAPIMessages.AttachmentPathName Filename - прикрепляет как атачмент файл, заданный в переменной filename

Ответить

Номер ответа: 2
Автор ответа:
 mr_Frank



ICQ: 316417 

Вопросов: 36
Ответов: 94
 Web-сайт: subaru.nv-avto.ru
 Профиль | | #2
Добавлено: 08.06.05 19:11
ето всё не то, мне не надо использовать какойто почтовик по умолчанию, мне нада исользовать свою программу.

Ответить

Номер ответа: 3
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #3 Добавлено: 08.06.05 20:47

ТАК ЧО ТУТ СЛОЖНОГО? Пральна - всо нада через МАПИ. Я несатрел этот объект давно уже, но помоему он типа открывает сохраненное письмо. Дак что тебе мешает получить полное (со всеми тегами и прочим) писбмо с сервака, и сохранить его в файл (например App.Patch & "\temp\" & sMsgName & ".msg";) Кстати для всех писем советую использовать расширение .msg , потому что все почтовики такой файл открывают как письмо (если ты его конешно шифровать не собираешся..).

1) значит грузиш письмо в переменную с сервера (мона через ВинСок - код могу дать)

2) Сохраняеш эту переменную в файл.

3) Юзаеш MAPI =)

Ответить

Номер ответа: 4
Автор ответа:
 mr_Frank



ICQ: 316417 

Вопросов: 36
Ответов: 94
 Web-сайт: subaru.nv-avto.ru
 Профиль | | #4
Добавлено: 09.06.05 07:13
Дай код

Ответить

Номер ответа: 5
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #5 Добавлено: 09.06.05 10:41


'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'
            '                                                                     '
            '        Ìîäóëü äëÿ ðàáîòû ñ ïî÷òîâûì ñåðâåðîì è MAPI controls        '
            '        Àâòîð - Ðîìàí Äîáðîäèé aka RomaVis                           '
            '        Äàòà - 9.06.2005                                             '
            ' Íàçíà÷åíèå - íàïèñàíèå ïðîãðàììû-ïî÷òîâèêà íà îñíîâå MAPI controls  '
            '                                                                     '
            '                            **SDsoft**                               '
            '                              *2005*                                 '
            '                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                   '
            '|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'
Dim ms As MAPISession 'Íàø ÌÀÏÈÑåññèîí
Dim mms As MAPIMessages 'Íàø MapiMessages
'Àòà÷ìåíò
Public Type Attachment
       Path As String
       Name As String
End Type
'Ïèñüìî
Public Type msg
       From As String
       Subj As String
       Date As String
       AttCount As Long
       Atchs() As Attachment
       Body As String
End Type
'Ìàññèâ äëÿ ïèñåì
Public mgs() As msg


Function Conn(Server As String, User As String, Pass As String) As Boolean
'Êîíåêò ê ñåðâåðó, ïåðåäà÷à èìåíè è ïàðîëÿ(êîðî÷å - àâòîðèçàöèÿ)
ms.DownLoadMail = True
ms.UserName = User
ms.Password = Pass
'Óñòàíîâêà ñîåäèíåíèÿ, êîðî÷å íà÷àëî ñåññèè
ms.SignOn
Conn = True
End Function
'Êëþ÷åâîé ìîìåíò - ïîëó÷åíèå ïèñåì, è çàïîëíåíèå ListView. Ïðåäïîëîæèì ListView - ýòî frmMain.lvMess
Function GetMessages(Session As Long) As Boolean
Dim li As ListItem
Dim c As Long
'Óñòàíîâêà èä. ñåññèè
mms.SessionID = Session
'Òåïåðü ñàìî ïîëó÷åíèå ñîîáùåíèé...
mms.Fetch
'Âñ¸. ñîîáùåíèÿ ïîëó÷åíû.. Òåïåðü ñ íèìè ìîæíà äåëàòü âñ¸ ÷òî óãîäíî!
'Êñòàòè! ó ëèñòâèåâà âèä Òàáëèöà(Ðåïîðò), è 4 ñòîëáöà - Îò, Òåìà, Äàòà ïðèåìà è Àòà÷è (Àòà÷è - ýòî +\- (åñòü èëè íåò))
If mms.MsgCount > 0 Then
   For i = 0 To mms.MsgCount - 1
       Set li = frmmain.lvMess.ListItems.Add
           mms.MsgIndex = i
           li.Text = mms.MsgOrigDisplayName & "<" & mms.MsgOrigAddress & ">"
           li.SubItems(1) = mms.MsgSubject
           li.SubItems(2) = mms.MsgDateReceived
           mgs(i).AttCount = mms.AttachmentCount
           mgs(i).Date = mms.MsgDateReceived
           mgs(i).From = mms.MsgOrigAddress
           mgs(i).Subj = mms.MsgSubject
           mgs(i).Body = mms.MsgNoteText
           If mms.AttachmentCount > 0 Then
              li.SubItems(3) = "+" & " / All:" & mms.AttachmentCount
              For c = 0 To mms.AttachmentCount - 1
                  mms.AttachmentIndex = c
                  mgs(i).Atchs(c).Name = mms.AttachmentName
                  mgs(i).Atchs(c).Path = mms.AttachmentPathName
              Next c
           Else
              li.SubItems(3) = "-"
           End If
           mms.Save
   Next
'&#207;&#240;&#238;&#246;&#229;&#241;&#241; &#239;&#238;&#235;&#243;&#247;&#229;&#237;&#232;&#255; &#238;&#234;&#238;&#237;&#247;&#229;&#237;... &#207;&#232;&#241;&#252;&#236;&#224; &#229;&#241;&#242;&#252;
   GetMessages = True
Else
'&#239;&#232;&#241;&#229;&#236; &#237;&#229;&#242;
   GetMessages = False
End If
End Function
'&#203;&#232;&#241;&#242;&#232;&#237;&#227; &#224;&#242;&#224;&#247;&#229;&#233; &#226; &#203;&#232;&#241;&#242;&#193;&#238;&#234;&#241;. &#209; &#243;&#247;&#229;&#242;&#238;&#236; &#242;&#238;&#227;&#238;, &#247;&#242;&#238; &#253;&#242;&#238; &#228;&#235;&#255; &#242;&#229;&#234;&#243;&#249;&#229;&#233; &#209;&#229;&#241;&#241;&#232;&#232;
Function ListAt(lb As ListBox, msg As Long)
Dim i As Long
mms.MsgIndex = msg
For i = 0 To mgs(msg).AttCount - 1
    lb.AddItem mgs(msg).Atchs(i).Name
Next i
End Function
'&#206;&#242;&#234;&#235;&#254;&#247;&#229;&#237;&#232;&#229; &#238;&#242; &#241;&#229;&#240;&#226;&#224;&#234;&#224;. &#194;&#219;&#207;&#206;&#203;&#205;&#223;&#210;&#220; &#210;&#206;&#203;&#220;&#202;&#206; &#207;&#206;&#209;&#203;&#197; GetMessages
Function Discon()
ms.SignOff
End Function

Ответить

Номер ответа: 6
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #6 Добавлено: 09.06.05 10:42

ой... а чо это за?! чтото с кодировкой нето?
Я имею ввиду в предидущем сообщении. что такое? чо нормальных букв нету? а токо цифры какието!

Ответить

Номер ответа: 7
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #7 Добавлено: 09.06.05 13:38
Это не "цифры", а escape-последовательности с кодами букв... Просто
Павел мог ошибиться и поставить не так код. Бывает такое на форуме
иногда с русскими буквами.. :)

Ответить

Номер ответа: 8
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #8
Добавлено: 10.06.05 20:24
Бывает такое на форуме
иногда с русскими буквами.. :)

Да, бывает... нередко :((

Ответить

Номер ответа: 9
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #9 Добавлено: 11.06.05 02:16
По-моему такие ескейпы заместо русских буковок, только когда VB не до конца
руссифицирован.
Попробуйте запустить рег-файл:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]

"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"

Ответить

Номер ответа: 10
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #10
Добавлено: 12.06.05 11:32
Да, бывает... нередко :((

Это случается когда прямо из редактора кода копируем код... код надо копировать из блокнота или ему подобный :) Открывать файлы в нем и оттуда копировать, только тогда - все ок...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам