Manage postoffice in C#

Discussion for developers using MailEnable.
Post Reply
Guest

Manage postoffice in C#

Post by Guest »

How do I add/modify/delete post offices, domains, and mailboxes using C#?

Mike

dorathoto
Posts: 12
Joined: Wed Feb 26, 2014 11:04 pm

Re: Manage postoffice in C#

Post by dorathoto »

ADD:

Code: Select all

using System;
using System.Data.SqlClient;
using System.IO;
using System.Xml.XPath;

namespace BLL
{
    public class MailEnable_Geral
    {
        public string _Email { get; set; }
  public bool CriarEmail(string _senha, string _redirect, long _ativarRedirect)
        {
            string[] vPostoffice = _Email.Split('@');
            string _username = vPostoffice[0];
            string _postoffice = vPostoffice[1];
            string _domain = _postoffice;

            bool _retorno = true;
            try
            {
                MailEnable.Administration.Mailbox mb = new MailEnable.Administration.Mailbox();
                mb.Postoffice = _postoffice;
                mb.MailboxName = _username;
                mb.Host = _domain;
                mb.Limit = 51200;//50MB
                mb.RedirectAddress = _redirect;
                mb.RedirectStatus = _ativarRedirect;//Ativa ou desativa Redirect
                mb.Status = 1;

                mb.AddMailbox();

                MailEnable.Administration.Login login = new MailEnable.Administration.Login();
                login.Account = _postoffice;

                login.Description = _username + " at " + _domain;
                login.Host = _domain;
                login.Rights = "USER";
                login.Status = 1;
                login.Password = _senha;
                login.UserName = _username + "@" + _postoffice;

                login.AddLogin();

                MailEnable.Administration.AddressMap map = new MailEnable.Administration.AddressMap();
                map.Account = _postoffice;
                map.DestinationAddress = "[SF:" + _postoffice + "/" + _username + "]";
                map.SourceAddress = "[SMTP:" + _username + "@" + _domain + "]";
                map.Scope = "";

                if (map.AddAddressMap() == 0)
                {
                    throw new Exception("Failed address map");
                }
            }
            catch (Exception e)
            {
                _retorno = false;
            }
            return _retorno;
        }

//delete
  public bool DeletaEmail()
        {
            string[] vPostoffice = _Email.Split('@');
            bool _retorno = true;

            MailEnable.Administration.Mailbox mb = new MailEnable.Administration.Mailbox();
            mb.Postoffice = vPostoffice[1];
            mb.MailboxName = vPostoffice[0];
            mb.RedirectAddress = "";
            mb.RedirectStatus = -1;
            mb.Size = -1;
            mb.Limit = -1;
            mb.Status = -1;
            int ret_mb = mb.RemoveMailbox();
            if (ret_mb == 1)
            {
                MailEnable.Administration.AddressMap map = new MailEnable.Administration.AddressMap();
                map.Account = vPostoffice[1];
                map.DestinationAddress = "[SF:" + vPostoffice[1] + "/" + vPostoffice[0] + "]";
                map.SourceAddress = "";
                map.Scope = "";
                int ret_map = map.RemoveAddressMap();


                MailEnable.Administration.Login login = new MailEnable.Administration.Login();
                login.Account = vPostoffice[1];
                login.LastAttempt = -1;
                login.LastSuccessfulLogin = -1;
                login.LoginAttempts = -1;
                login.Password = "";
                login.Rights = "";
                login.Status = -1;
                login.UserName = _Email;
                int ret_login = login.RemoveLogin();
                if (ret_login != 1)
                {
                    _retorno = false;
                }
            }
            else
            {
                _retorno = false;
            }

            return _retorno;
        }
    }
}

Post Reply