PowerTCP Mail for .NET
Subscribe Method
Example 




Subscribes the mailbox.
Syntax
Public Function Subscribe() As ImapResponse
Dim instance As Mailbox
Dim value As ImapResponse
 
value = instance.Subscribe()
public ImapResponse Subscribe()
public: ImapResponse* Subscribe(); 
public:
ImapResponse^ Subscribe(); 

Return Value

An ImapResponse object encapsulating the response from the server.
Exceptions
ExceptionDescription
ProtocolExceptionBad IMAP protocol response received from server.
System.Net.Sockets.SocketExceptionA communications failure has occurred.
Remarks

This method sends the SUBSCRIBE command to the server, which adds the mailbox to the server's set of the user's subscribed mailboxes.

To get a list of subscribed mailboxes use

Imap.List("", "%", true);
Example
This example demonstrates how to create, rename and delete a mailbox. It also shows how to subscribe and unsubscribe a mailbox.
private void doMailboxFunctions(object sender)
{
    //Configure server and account info
    imap1.Session.RemoteEndPoint = new Dart.Mail.IPEndPoint(myServer, Imap.GetDefaultPort(imap1.Session));
    imap1.Session.Username = myUsername;
    imap1.Session.Password = myPassword;

    //Connect and log into the account
    imap1.Connect();
    imap1.Authenticate();

    //Create a mailbox
    Mailbox newBox = imap1.Mailboxes.Add("My_New_Box");

    //Subscribe the mailbox and check the subscribed list
    newBox.Subscribe();
    //Get all subscribed mailboxes
    List<Mailbox> list = imap1.List("", "%", true).ToList<Mailbox>();
    if (!list.Contains(newBox)) throw new Exception("Server did not subscribe the mailbox.");

    //Unsubscribe the mailbox and check the subscribed list
    newBox.Unsubscribe();
    list = imap1.List("", "%", true).ToList<Mailbox>();
    if (list.Contains(newBox)) throw new Exception("Server did not unsubscribe the mailbox.");

    //Rename the mailbox and then delete it
    newBox.Name = newBox.Name + "_Renamed";
    imap1.Mailboxes.Remove(newBox);

    //Gracefully logout of the session
    imap1.Close();
}
Private Sub doMailboxFunctions(ByVal sender As Object)
    'Configure server and account info
    imap1.Session.RemoteEndPoint = New Dart.Mail.IPEndPoint(myServer, Imap.GetDefaultPort(imap1.Session))
    imap1.Session.Username = myUsername
    imap1.Session.Password = myPassword

    'Connect and log into the account
    imap1.Connect()
    imap1.Authenticate()

    'Create a mailbox
    Dim newBox As Mailbox = imap1.Mailboxes.Add("My_New_Box")

    'Subscribe the mailbox and check the subscribed list
    newBox.Subscribe()
    'Get all subscribed mailboxes
    Dim list As List(Of Mailbox) = imap1.List("", "%", True).ToList()
    If Not list.Contains(newBox) Then
        Throw New Exception("Server did not subscribe the mailbox.")
    End If

    'Unsubscribe the mailbox and check the subscribed list
    newBox.Unsubscribe()
    list = imap1.List("", "%", True).ToList()
    If list.Contains(newBox) Then
        Throw New Exception("Server did not unsubscribe the mailbox.")
    End If

    'Rename the mailbox and then delete it
    newBox.Name = newBox.Name & "_Renamed"
    imap1.Mailboxes.Remove(newBox)

    'Gracefully logout of the session
    imap1.Close()
End Sub
See Also

Reference

Mailbox Class
Mailbox Members


PowerTCP Mail for .NET Documentation Version 4.3
© 2018 Dart Communications. All Rights Reserved.
Send comments on this topic