PowerTCP Mail for .NET
Add(Stream) Method
See Also  Example Send comments on this topic.
Dart.PowerTCP.Mail Namespace > ImapMessageCollection Class > Add Method : Add(Stream) Method




message
A Stream object containing message data.
Add a new message to the mailbox using APPEND.

Syntax

Visual Basic (Declaration) 
Public Overloads Function Add( _
   ByVal message As Stream _
) As ImapMessage
Visual Basic (Usage)Copy Code
Dim instance As ImapMessageCollection
Dim message As Stream
Dim value As ImapMessage
 
value = instance.Add(message)
C# 
public ImapMessage Add( 
   Stream message
)
Managed Extensions for C++ 
public: ImapMessage* Add( 
   Stream* message
) 
C++/CLI 
public:
ImapMessage^ Add( 
   Stream^ message
) 

Parameters

message
A Stream object containing message data.

Return Value

An ImapMessage object representing the newly added message.

Exceptions

ExceptionDescription
Dart.PowerTCP.Mail.ProtocolExceptionBad IMAP protocol response received from server.
System.Net.Sockets.SocketExceptionThe requested address is not valid in its context.

Example

The following example demonstrates appending mailboxes to the server.
Visual BasicCopy Code
Private Sub MailboxCollectionTest()
   ' Login
   Imap1.Login(Server, User, Pass)

   ' Create a new mailbox.
   Imap1.Mailboxes.Add("MyNewBox")

   ' Get the Mailbox in a short variable name to reduce typing.
   Dim Box As New Mailbox = Imap1.Mailboxes("MyNewBox")

   ' APPEND some test messages
   Dim i As Integer
   For i = 0 To 5
      ' Dynamically create a new message
      Dim Msg As New MessageStream()
      Msg.To.Add(New MailAddress("me@test.com"))
      Msg.From = New MailAddress("you@test.com")
      Msg.Subject = "test # " + i
      Msg.Text = "Hello, how are you?"

      ' Append the message
      Box.Messages.Add(msg)
   Next

   ' Refresh the mail box so new messages will be included
   Box.Refresh()

   ' Display a list of the message identifiers.
   Debug.WriteLine(Box.Messages.ToString())

   ' Clear all messages
   Box.Messages.Clear()

   ' Logout
   Imap1.Logout()
End Sub
C#Copy Code
private void MailboxCollectionTest()
{
   // Login
   imap1.Login(Server, User, Pass);

   // Create a new mailbox.
   imap1.Mailboxes.Add("MyNewBox");

   // Get the Mailbox in a short variable name to reduce typing.
   Mailbox box = imap1.Mailboxes["MyNewBox"];

   // APPEND some test messages
   for(int i=0; i < 5; i++)
   {
      // Dynamically create a new message
      MessageStream msg = new MessageStream();
      msg.To.Add(new MailAddress("me@test.com"));
      msg.From = new MailAddress("you@test.com");
      msg.Subject = "test # " + i;
      msg.Text = "Hello, how are you?";

      // Append the message
      box.Messages.Add(msg);
   }

   // Refresh the mail box so new messages will be included
   box.Refresh();

   // Display a list of the message identifiers.
   Debug.WriteLine(box.Messages.ToString());

   // Clear all messages
   box.Messages.Clear();

   // Logout
   imap1.Logout();
}

Remarks

Using the ImapMessageCollection.Add method causes an APPEND command to be sent to the IMAP server, adding the message contained in message to the mailbox represented by Imap.CurrentMailbox. Typically, message will be a MessageStream object, but can be any Stream object.

Requirements

Target Platforms: Microsoft .NET Framework 2.0

See Also

Documentation Version 3.2
© 2010 Dart Communications. All Rights Reserved.