Question: Below is my macro to send an email but it does not open a new email . 

This macro is in the outlook rules. 

Have you any ideas? 

```
  Sub sendemail()

  Dim ns As NameSpace
 'Dim newMail As Outlook.MailItem

Set ns = GetNamespace("MAPI")
 Dim newMail As MailItem
Set newMail = Application.CreateItem()

With newMail
  .To = "aaa@bbb" <--adress to whitch I want to send an email
  .Subject = "test"
  .Display
 End With
Set newMail = Nothing

  End Sub

```

Answer: 
Argument must be type **`MailItem`** or **`MeetingItem`** for the subroutine to be available in Outlook Rules Wizard.

Try this. 

```
Option Explicit
Sub SendEmail(NewMail As Outlook.MailItem)

    Set NewMail = Application.CreateItem(olMailItem)

    With NewMail
        .To = "aaa@bbb"  '<--adress to whitch I want to send an email
        .Subject = "test"
        .Display
    End With

    Set NewMail = Nothing
End Sub

```
Youre not specifying the item to create. See here:

```
Private Sub SendEmail(ByVal workcenter As Integer, ByVal time As Date)
    Dim objApp As Object
    Dim objEmail As Object
    Set objApp = CreateObject("Outlook.Application")
    Set objEmail = CreateObject("Outlook.MailItem")
    With objEmail
        .To = "emailexampe@website.com"
        .Subject = "Multiple Shop Orders run for line " & workcenter & " at " & time
        .body = "TEST"
        .display
    End With
    Set objEmail = Nothing
    Set objApp = Nothing

End Sub

```

Source: <http://www.vbforums.com/showthread.php?536558-RESOLVED-Outlook-late-binding>

this version also uses late binding, so you dont need any additional references.