Solved

Using Outlook to send email within Visual Basic .NET

Posted on 2007-03-26
16
233 Views
Last Modified: 2010-04-23
Hello,

I am trying to send email by Outlook using Visual Basic. Microsoft has a article on it: http://support.microsoft.com/kb/220595

For some reason, Dim olApp As Outlook.Application ....   where Outlook.Application is not found by VB .NET...

What can I do to fix this? Is there a class that I need to Imports in order to work?

Thanks
0
Comment
Question by:bri_stc
  • 9
  • 6
16 Comments
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 18796604
Hi bri_stc,

You will need to add a reference to Outlook as instructed in the article.

Regards,

Wayne
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18797836
and also use imports statement
Imports Microsoft.Office.Interop.Outlook.
0
 
LVL 1

Author Comment

by:bri_stc
ID: 18801810
Hello experts,

Adding the references have solve majority of the problem.

Now I am only down to these not being recognize:

olItem = olApp.CreateItem(olContactItem)  <------- where olContactItem is not recognize
olAppt = olApp.CreateItem(olAppointmentItem)<------- where olAppointmentItem is not recognize
olMail = olApp.CreateItem(olMailItem) <------- where olMailItem is not recognize

:) I am fairly green in VB .NET
Thanks

0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18801870
Dim olAppt As Outlook.AppointmentItem
and same is the others
0
 
LVL 1

Author Comment

by:bri_stc
ID: 18801909
I have done that already but no give~
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18801910
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18801924
also www.outlookcode.com for some good tutorials
0
 
LVL 1

Author Comment

by:bri_stc
ID: 18801995
I think i have done that already...

In fact, i just want to be able to sent email out and this is what i have:

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        ' Start Outlook.
        ' If it is already running, you'll use the same instance...
        Dim olApp As Outlook.Application
        olApp = CreateObject("Outlook.Application")

        ' Logon. Doesn't hurt if you are already running and logged on...
        Dim olNs As Outlook.NameSpace
        olNs = olApp.GetNamespace("MAPI")
        olNs.Logon()



        ' Send a message to your new contact.
        Dim olMail As Outlook.MailItem
        olMail = olApp.CreateItem(olMailItem)
        ' Fill out & send message...
        olMail.To = "test@test.com"
        olMail.Subject = "About our meeting..."
        olMail.Body = _
             "Dear " & "Whomever is concern" & ", " & vbCr & vbCr & vbTab & _
             "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _
             "Btw: I've added you to my contact list."
        olMail.Send()

        ' Clean up...
        MsgBox("All done...", vbMsgBoxSetForeground)
        olNs.Logoff()
        olNs = Nothing
        olMail = Nothing

        olApp = Nothing

    End Sub

___________________________

I am getting a error there:   olMail = olApp.CreateItem(olMailItem)  <----- olMailitem is undefine....
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18802464
Dim olMail As Outlook.MailItem << I site prob here
olMail = olApp.CreateItem(olMailItem)

Dim olMailItem As Outlook.MailItem << it should be like this
olMail = olApp.CreateItem(olMailItem)
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18802500
oops i am sorry my mistake...
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18802533
Imports Microsoft.Office.Interop.Outlook
olMailItem should be there in Outlook's properties
Outlook.olMailItem or Outlook.items.olMailitem
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18802598
you add a reference to Outlook object Library from Project -> References correct?  
Now if you go to View -> Object Browser, select the Outlook Library from the dropdown list to get all methods, etc.


you try this in a saperate app and check if the flow is correct.. this error points me to missing ref.
0
 
LVL 21

Accepted Solution

by:
theGhost_k8 earned 250 total points
ID: 18802654
try this too..

CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
you might need to typecast Outlook.MailItem

please check  the references
0
 
LVL 1

Author Comment

by:bri_stc
ID: 18802818
I am looking at the object browser right now, I dont see olMailItem in the reference list...

and for some reason, Microsoft.Office.Interop.Outlook dont seem to exist....

here is a screen shot of the object browser:
http://img107.imageshack.us/my.php?image=referencespv9.jpg
0
 
LVL 1

Author Comment

by:bri_stc
ID: 18802898
How about this:
 
Dim sendingemail As Outlook.MailItem

sendingemail.To = "mmok@stcbus.com"
sendingemail.Subject = "About our meeting..."
sendingemail.Body = _
             "Dear " & "Whomever is concern" & ", " & vbCr & vbCr & vbTab & _
             "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _
             "Btw: I've added you to my contact list."
sendingemail.Send()

Just to make things simply, but now I am getting a error with this line when I run it: sendingemail.To = "mmok@stcbus.com"....  but it compile just fine, just when I execute the send, this line causes an error.
0
 
LVL 1

Author Comment

by:bri_stc
ID: 18802953
I have finally found the answer!!!   olmailitem is listed under Outlook.OlItemType.olMailItem

Thanks theGhost_k8...  handing you the point now!
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question