Страница: 1 |
Страница: 1 |
Вопрос: mail
Добавлено: 08.06.05 13:56
Автор вопроса: mr_Frank | Web-сайт:
Кто знает как при получении почты от письма отделить attach файлы. И как при отправке письма отпровлять не один а несколько attach файлов
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Агент Смит
ICQ: 147404128
Вопросов: 12
Ответов: 128
Web-сайт:
Профиль | | #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-сайт:
Профиль | | #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-сайт:
Профиль | | #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
'Ïðîöåññ ïîëó÷åíèÿ îêîí÷åí... Ïèñüìà åñòü
GetMessages = True
Else
'ïèñåì íåò
GetMessages = False
End If
End Function
'Ëèñòèíã àòà÷åé â ËèñòÁîêñ. Ñ ó÷åòîì òîãî, ÷òî ýòî äëÿ òåêóùåé Ñåññèè
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
'Îòêëþ÷åíèå îò ñåðâàêà. ÂÛÏÎËÍßÒÜ ÒÎËÜÊÎ ÏÎÑËÅ 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 не до конца
руссифицирован.
Попробуйте запустить рег-файл:
[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-сайт:
Профиль | | #10
Добавлено: 12.06.05 11:32
Это случается когда прямо из редактора кода копируем код... код надо копировать из блокнота или ему подобный Открывать файлы в нем и оттуда копировать, только тогда - все ок...