Страница: 1 |
Для отправки сообщения по email, попробовал использовать MAPI, но возникли трудности с которыми я так и не смог разобраться. 1. При отправке сообщения сначала происходит проверка водящей почты всех учетных записей из Outlook, а нужно только отправление. 2. Для отправки изпользуется учётная запись установленная по умолчанию в Outlook . А для своего приложения мне надо выбрать для использования одну конкретную учётную запись. 3. Постоянно выдаётся предупреждающие сообщение о попытке отправки почты. Возможно ли обойти эти проблемы?
А для этого обязательно MAPI? По своему опыту могу сказать следующее. 2. Чтобы выбирать учётную запись, с которой отправляются письма, нужно отключить запись по умолчанию и при отправке сообщения выходить из Outlook`а, а потом снова входить под нужной записью (программно, конечно). Вполне возможно, поведение системы ещё будет зависеть от того, какой тип учётной записи используется - Exchange или SMTP. 3. Это дело рук системы безопасности, установленной в 1-м Service Pack для Outlook 2000 и перенесённой в Outlook XP. В случае, если работа идёт из-под Exchange Server`а это обходится с помощью специальных настроек (в папку All public folders помещается особая... штуковина, даже не знаю, как назвать). Подробнее можно почитать тут: http://www.microsoft.com/office/techinfo/administration/XPsecurity.doc Вообще-то сначала я стал использовать Winsock, но проблема возникла при отсылки вложенного файла. Его надо кодировать в base 64. Я нашёл пример в интернете и попробовал его использовать. Очень долго происходит ковертирование (файл размером 40 кб преобразуется больше одной минуты. Я так понимаю, что проблема при считывании файла. Function encode_the_file(attach As String) As String Dim buffer As String base64 ещё одна функция. Если кто подскажет, как можно оптимизировать данную функцию, буду очень признателен. Страница: 1 |
Вопрос: Использование MAPI
Добавлено: 08.02.03 14:54
Автор вопроса: Анатолий
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Goul
Вопросов: 0
Ответов: 29
Профиль | | #1
Добавлено: 10.02.03 14:14
Номер ответа: 2
Автор ответа:
Анатолий
Вопросов: 12
Ответов: 4
Профиль | | #2
Добавлено: 10.02.03 21:37
Dim buffer1 As String
Dim i As Long
Dim buffer2 As String
Open attach For Binary Access Read As #fnum
Do While Not EOF(1)
buffer = Space(3)
Get fnum, , buffer
buffer1 = buffer1 & base64(buffer)
DoEvents
Loop
Close #fnum
For i = 1 To Len(buffer1) Step 76
buffer2 = buffer2 & Mid(buffer1, i, 76) & vbCrLf
Next i
buffer2 = Mid(buffer2, 1, Len(buffer2) - 2)
encode_the_file = buffer2
End Function