Система. Сеть. Почтовая альтернатива

Существует большой хороший совет здесь, и я уверен, что большинство программистов использовало свое знание сложности время от времени.

Однако я должен сказать понимание, что вычислительная сложность имеет экстремальное значение в области Игр! Да Вы слышали его, на котором "бесполезный" материал является видом игровых жизней программирования материала.

я держал пари, что очень немного профессионалов, вероятно, заботятся о Большом-O так же как игровые программисты.

16
задан Martin 23 October 2009 в 15:14
поделиться

7 ответов

Если у вас есть почтовый сервер Microsoft Exchange 2007, тогда у вас есть возможность использовать его веб-службу для отправки электронной почты. Сама веб-служба немного странная, но мы смогли инкапсулировать странности и заставить ее работать так же, как наш класс SMTP.

Сначала вам нужно сделать ссылку на веб-службу обмена следующим образом: https: //mail.yourwebserver.com/EWS/Services.wsdl

Вот пример:

public bool Send(string From, MailAddress[] To, string Subject, string Body, MailPriority Priority, bool IsBodyHTML, NameValueCollection Headers)
{
    // Create a new message.
    var message = new MessageType { ToRecipients = new EmailAddressType[To.Length] };

    for (int i = 0; i < To.Length; i++)
    {
        message.ToRecipients[i] = new EmailAddressType { EmailAddress = To[i].Address };
    }

    // Set the subject and sensitivity properties.
    message.Subject = Subject;
    message.Sensitivity = SensitivityChoicesType.Normal;
    switch (Priority)
    {
        case MailPriority.High:
            message.Importance = ImportanceChoicesType.High;
            break;

        case MailPriority.Normal:
            message.Importance = ImportanceChoicesType.Normal;
            break;

        case MailPriority.Low:
            message.Importance = ImportanceChoicesType.Low;
            break;
    }

    // Set the body property.
    message.Body = new BodyType
                   {
                       BodyType1 = (IsBodyHTML ? BodyTypeType.HTML : BodyTypeType.Text),
                       Value = Body
                   };

    var items = new List<ItemType>();
    items.Add(message);

    // Create a CreateItem request.
    var createItem = new CreateItemType()
                     {
                         MessageDisposition = MessageDispositionType.SendOnly,
                         MessageDispositionSpecified = true,
                         Items = new NonEmptyArrayOfAllItemsType
                                 {
                                     Items = items.ToArray()
                                 }
                     };


    var imp = new ExchangeImpersonationType
              {
                  ConnectingSID = new ConnectingSIDType { PrimarySmtpAddress = From }
              };
    esb.ExchangeImpersonation = imp;

    // Call the CreateItem method and get its response. 
    CreateItemResponseType response = esb.CreateItem(createItem);

    // Get the items returned by CreateItem.
    ResponseMessageType[] itemsResp = response.ResponseMessages.Items;
    foreach (ResponseMessageType type in itemsResp)
    {
        if (type.ResponseClass != ResponseClassType.Success)
            return false;
    }

    return true;
}
2
ответ дан 30 November 2019 в 23:27
поделиться

Я использовал SQL Server для отправки электронной почты в ситуациях, когда рабочий стол клиента не мог отправлять почту ( обычно из соображений безопасности), но сервер может.

0
ответ дан 30 November 2019 в 23:27
поделиться
0
ответ дан 30 November 2019 в 23:27
поделиться

Мне понравились эти компоненты: QuikSoft

0
ответ дан 30 November 2019 в 23:27
поделиться

Для совместимого со стандартами и широкого набора почтовых инструментов (и других стандартов IETF) я несколько раз обнаруживал, что / n software IP * Works является хорошим API. Я использовал его как для входящих, так и для исходящих сценариев. В исходящем сценарии я использовал его для поддержки крупной рассылки, а в моем текущем проекте я использую его для получения крупномасштабной почты IMAP для интенсивно используемых почтовых ящиков входящей поддержки клиентов. У меня никогда не было проблем с соответствием (пока все хорошо).

Пакет поддерживает гораздо больше, чем просто IMAP и SMTP. Его можно найти здесь , и я обнаружил, что цена вполне сносная, учитывая то, что вы получаете за свои деньги.

0
ответ дан 30 November 2019 в 23:27
поделиться

SmtpClient was modified in .NET 4.0 so that it properly closes connections by sending a QUIT message. In addition, significant improvements were made to standards compliance with respect to unicode encoding and folding of long line lengths so you should find that your spam scores go down if you switch to .NET 4.0. The folding and encoding fixes shipped in .NET 4.0 Beta 2 but you'll have to wait until .NET 4.0 RC to get the QUIT message fix. In addition, SmtpClient will now implement IDisposable so that you can deterministically close your smtp connections when you are finished sending messages. This blog post details some of the improvements that have been made although it doesn't talk about IDisposable on SmtpClient (should be another blog post on that blog at some point that describes that change): http://blogs.msdn.com/ncl/archive/2009/08/06/what-s-new-in-system-net-mail.aspx

1
ответ дан 30 November 2019 в 23:27
поделиться

А как насчет Rebex Secure Mail ?

Раскрытие: Я участвую в разработке этой библиотеки.

1
ответ дан 30 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: