开发者

Sending email from webpage using Outlook

开发者 https://www.devze.com 2023-01-05 23:20 出处:网络
I have a webpage that has a button that sends a letter on the page to an email recipent. Currently we are use Lotus Notes and with VB script, we are able to create an object of Lotus Notes and one of

I have a webpage that has a button that sends a letter on the page to an email recipent. Currently we are use Lotus Notes and with VB script, we are able to create an object of Lotus Notes and one of the properties for this object is PutInFolder. After the user clicks on the email button, the script will send the email and also put save the email in a certain folder on the user's computer. Our company is now switching over to Outlook 2007 and I'm开发者_如何转开发 looking to do the same thing with an Outlook object instead. Our development is local intranet only, and there are only a few users that will have access to this. Anyway, my problem is I cannot seem to find the same functionality with an Outlook Application.

I do have the send of the email currently working using this logic. Does anyone have any ideas on how to save the email in the user's outlook folder? I tried looking for a list of properties that I can call but I cannot find anything searching. Maybe I don't have the right terminalogy in the searches.

Thank you.

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


For future reference... I found the solution I was looking for. It wasn't too bad of a mess. Here's the modified source to replicate the Send and save email to a specific folder incase someone else comes looking. Thanks to Tester101 for the website I was looking for. Again this is vbscript imbedded in the HTML page.




    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


I found this article. It might be something tha could help.

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

If not this site has great resources for working with outlook.


It looks like the MailItem object has a Save method, as well as a SaveAs method. So you should be able to do something like this.

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

The 3 is to save the message in olMSG format see OlSaveAsType Enumeration.


I have a solution. We've decided to bcc the person sending the email and then use an outlook rule to move the email to the specified outlook folder. Thanks to everyone that replied.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号