Отправка электронной почты с веб-страницы с помощью Outlook - PullRequest
3 голосов
/ 02 июля 2010

У меня есть веб-страница с кнопкой, которая отправляет письмо на страницу получателю электронной почты. В настоящее время мы используем Lotus Notes и с помощью сценария VB мы можем создать объект Lotus Notes, и одним из свойств этого объекта является PutInFolder. После того, как пользователь нажмет на кнопку электронной почты, скрипт отправит электронное письмо, а также сохранит его в определенной папке на компьютере пользователя. Наша компания сейчас переключается на Outlook 2007, и я собираюсь сделать то же самое с объектом Outlook. Наша разработка - только локальная интрасеть, и только несколько пользователей будут иметь к ней доступ. В любом случае, моя проблема в том, что я не могу найти ту же функциональность в приложении Outlook.

У меня есть отправка электронного письма, которое сейчас работает с использованием этой логики. У кого-нибудь есть идеи как сохранить электронную почту в папке outlook пользователя? Я попытался найти список свойств, которые я могу назвать, но я не могу найти ничего, что ищет. Возможно у меня нет правильной терминалогии в поисках.

Спасибо.

sub send_mailvb(sendto, sendcc, sendbcc, subject_text, body_text, attachment1, attachment2, attachment3)

'Open mail, adress, attach report
dim objOutlk    'Outlook
dim objMail 'Email item
dim strMsg
const olMailItem = 0
'Create a new message
    set objOutlk = createobject("Outlook.Application")
    set objMail = objOutlk.createitem(olMailItem)

' Setup send to
    objMail.To = sendto

' Setup send cc
If sendcc <> "" Then
objMail.cc = sendcc
End If

' Setup send bcc
If sendbcc <> "" Then
objMail.bcc = sendbcc
End If

'Set up Subject Line
    objMail.subject = subject_text

'Add the body

    strMsg = body_text & vbcrlf

'Add an attachments
If attachment1 <> "" Then
    objMail.attachments.add(attachment1)
End If

If attachment2 <> "" Then
    objMail.attachments.add(attachment2)
End If

If attachment3 <> "" Then
    objMail.attachments.add(attachment3)
End If

    objMail.body = strMsg
    objMail.display 'Use this to display before sending, otherwise call objMail.Send to send without reviewing

'Clean up
set objMail = nothing
set objOutlk = nothing

End Sub

Ответы [ 4 ]

2 голосов
/ 08 июля 2010

Для дальнейшего использования ... Я нашел решение, которое искал.Это было не так уж плохо от беспорядка.Вот модифицированный источник, чтобы реплицировать отправку и сохранение электронной почты в определенную папку, если кто-то еще ищет.Спасибо Tester101 за сайт, который я искал.Опять же, это vbscript, встроенный в HTML-страницу.




    sub send_mailvb(sendto, sendcc, sendbcc, subject_text, body_text, attachment1, attachment2, attachment3)

    'Open mail, adress, attach report  

    dim objOutlk    'Outlook
    dim objMail 'Email item
    dim strMsg
    dim myInbox
    const olMailItem = 0
    'Create a new message
        set objOutlk = createobject("Outlook.Application")
        Set objNameSpace = objOutlk.Session 
        set objMail = objOutlk.createitem(olMailItem)

        Set myNameSpace = objOutlk.GetNamespace("MAPI")

    Set myExplorer = objOutlk.ActiveExplorer


    ' 6 at least on my machine pointed to the Inbox (should be the same as constant olFolderInbox).  Within the Inbox I have a folder called Test
    Set myExplorer.CurrentFolder = myNameSpace.GetDefaultFolder(6).Folders("Test")
    Set myFolder = myExplorer.CurrentFolder

    ' Setup send to
        objMail.To = sendto

    ' Setup send cc
    If sendcc  "" Then
    objMail.cc = sendcc
    End If

    ' Setup send bcc
    If sendbcc  "" Then
    objMail.bcc = sendbcc
    End If

    'Set up Subject Line
        objMail.subject = subject_text

    'Add the body

        strMsg = body_text & vbcrlf

    'Add an attachments
    If attachment1  "" Then
        objMail.attachments.add(attachment1)
    End If

    If attachment2  "" Then
        objMail.attachments.add(attachment2)
    End If

    If attachment3  "" Then
        objMail.attachments.add(attachment3)
    End If

        objMail.body = strMsg
        // objMail.display 'Use this to display before sending, otherwise call objMail.Send to send without reviewing


        objMail.Save
        objMail.Move(myFolder)

        objMail.Send

    'Clean up
    set objMail = nothing
    set objOutlk = nothing

    End Sub
0 голосов
/ 02 июля 2010

Похоже, что у объекта MailItem есть метод Save , а также метод SaveAs .Таким образом, вы должны иметь возможность сделать что-то вроде этого.

objMail.SaveAs "C:\Test.msg", 3 

3 - сохранить сообщение в формате olMSG, см. Перечисление OlSaveAsType .

0 голосов
/ 03 июля 2010

У меня есть решение. Мы решили скрыть лицо, отправляющее электронное письмо, а затем использовать правило Outlook, чтобы переместить письмо в указанную папку Outlook. Спасибо всем, кто ответил.

0 голосов
/ 02 июля 2010

Я нашел эту статью.Это может быть чем-то, что может помочь.

http://www.outlookcode.com/codedetail_print.aspx?id=1041

Если нет, у этого сайта есть большие ресурсы для работы с outlook.

...