Обнаружение Outlook автоответчик / электронные письма об отсутствии на работе

Поэтому ни один из перечисленных здесь не работал для меня, но, используя несколько ответов, я получил что-то:

public string GetBaseUrl()
{
    var request = HttpContext.Current.Request;
    var appUrl = HttpRuntime.AppDomainAppVirtualPath;

    if (appUrl != "/") 
        appUrl = "/" + appUrl;

    var baseUrl = string.Format("{0}://{1}{2}", request.Url.Scheme, request.Url.Authority, appUrl);

    return baseUrl;
}

Обновление для ASP.NET Core / MVC 6:

ASP.NET Core делает этот процесс немного более болезненным, особенно если вы глубоко в своем коде. У вас есть 2 варианта доступа к HttpContext

1) Передайте его с вашего controller:

var model = new MyClass(HttpContext);

, затем в model:

private HttpContext currentContext;

public MyClass(HttpContext currentContext)
{
    this.currentContext = currentContext;
}

2) Возможно, более чистый способ заключается в том, чтобы вводить его в ваш класс, который начинается с регистрации типов в вашем Startup:

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    services.AddTransient<MyClass, MyClass>();
    services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}

, после чего он вводится для вас следующим образом:

private HttpContext currentContext;

public MyClass(IHttpContextAccessor httpContextAccessor)
{
    currentContext = httpContextAccessor.HttpContext;
}

в любом случае, здесь обновлено для .NET Core GetBaseUrl():

public string GetBaseUrl()
{
    var request = currentContext.Request;

    var host = request.Host.ToUriComponent();

    var pathBase = request.PathBase.ToUriComponent();

    return $"{request.Scheme}://{host}{pathBase}";
}
21
задан jean 22 June 2009 в 14:04
поделиться

3 ответа

Существует поле заголовка ( http://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml ), но, похоже, MS Outlook не устанавливает это (по крайней мере, не Outlook 2003). Я думаю, что вы должны разобрать строку темы.

8
ответ дан Razvan Stefanescu 22 June 2009 в 14:04
поделиться

Стоит отметить, что Exchange должен подавлять сообщения об отсутствии на работе в ответ на сообщения с заголовком Precedence:bulk или X-Auto-Response-Suppress:OOF:

http: //blogs.technet. ком / б / обмен / архив / 2006/10/06 / 3395024.aspx

20
ответ дан seb 22 June 2009 в 14:04
поделиться

Этот вопрос часто возникает в Google, поэтому я решил добавить важную заметку.

Никогда не используйте X-Auto-Response-Suppress в своих фильтрах, как предложено в другом ответе.

X-Auto-Response-Suppress используется Exchange, чтобы сообщать другим серверам не отправлять автоответы в ответ на электронное письмо. Это не значит, что это письмо является автоответчиком.

Мы должны были выучить это трудным путем, надеюсь, вам не придется. Я также написал сообщение в блоге с более подробной информацией: http://www.jitbit.com/maxblog/18-detecting-outlook-autoreplyout-of-office-emails-and-x-auto-response-suppress -header /

20
ответ дан Max Al Farakh 22 June 2009 в 14:04
поделиться