От новичка до гуру: Курсы программирования на CyberDuff

Настройка заголовков электронной почты (путь возврата, отправитель, идентификатор сообщения) в приложении .Net

Мы создаем приложение в .Net и в настоящее время находимся на завершающей стадии, и нам нужно ввести сообщение электронной почты через SMTP, установив различные параметры в «заголовках электронной почты».

The three values we are focused on are:

  • Обратный путь
  • Отправитель
  • Идентификатор сообщения
  • В настоящее время в нашем коде у нас есть это:

    BodyMessage.Sender = new MailAddress(bounce_address);
    

    (Где «bounce_address» — это адрес, на который мы хотим, чтобы возвращались сообщения.)

    Этот код, по-видимому, устанавливает как Return-Path, так и Sender.

    Однако мы хотим, чтобы эти значения были различны.

    Есть ли значение, которое мы можем использовать, чтобы при отправке сообщения мы могли указать, что обратный путь должен быть одним, а отправитель - другим?

    Мы пробовали это, но это не работает:

    BodyMessage.Headers.Add("Sender", "[email protected]");
    

    Этот код просто полностью игнорируется.

    Любые идеи?

    Для идентификатора сообщения мы пробовали это:

    BodyMessage.Headers.Add("Message-ID", "[email protected]");
    

    Но это также игнорируется.

    Однако если мы укажем собственное значение заголовка, такое как «X-Message-ID», тогда этот код работает:

    BodyMessage.Headers.Add("X-Message-ID", "[email protected]");
    

    Но это не то, что нам нужно, так как мы не хотим добавлять дополнительный элемент заголовка электронной почты, а скорее предоставляем основной элемент заголовка сообщения-идентификатора.

    Любая помощь приветствуется.

    Заранее спасибо!


    • У вас есть решение для этого? Я ищу способ установить обратный путь на другой адрес. 15.06.2012

    Ответы:


    1

    Когда я столкнулся с подобными проблемами (до того, как они представили коллекцию ReplyTo, это был только один элемент), я в конечном итоге использовал стороннюю библиотеку SMTP и вообще перестал использовать библиотеку .NET. Я обнаружил, что в принципе невозможно переопределить поведение по умолчанию — они специально запрещают вам самостоятельно настраивать эти заголовки. (по какой-то причине, которую я не могу понять)

    DnSmtp

    Как признается автор этой библиотеки, местами она грубовата, мне пришлось отшлифовать ее перед использованием. Но в итоге я добился успеха.

    PS. Вы можете использовать любую библиотеку электронной почты .NET, не обязательно DnSmtp. Или вы можете написать свой собственный SMTP-клиент (немного утомительно, но возможно).

    06.06.2012
  • Спасибо за супер быстрый ответ, г-н Т.А. Ваша помощь очень ценится. И, по крайней мере, теперь мы знаем, что не просто упустили что-то очевидное в стандартной библиотеке .NET. 08.06.2012
  • Эта библиотека DnSmtp кажется немного устаревшей... есть ли другие, которые вы могли бы порекомендовать (поскольку вы, кажется, хорошо знаете ландшафт этой проблемы)? Я не думаю, что мы хотели бы написать свою собственную библиотеку. Еще раз спасибо! 08.06.2012
  • Не совсем, извините. Она уже устарела, когда мне пришлось ей пользоваться года 2-3 назад :) Спроса на такую ​​библиотеку очень мало, отсюда и отсутствие инноваций в сфере alt.net, когда дело доходит до SMTP-клиентов (работает .NET для большинства людей). Проверьте Codeplex, Google Code и другие подобные сайты, прежде чем сдаваться. Если вы не можете найти ничего другого, попробуйте DnSmtp... это может сработать для вас без его изменения (нам пришлось отправить кучу неанглийских символов, которые не поддерживались, ваши требования могут отличаться). 08.06.2012
  • Новые материалы

    5 простых концепций Python, ставших сложными
    #заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

    «Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
    Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

    Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
    Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

    «Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
    TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..