4

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

То, что я хочу сделать, - это установить правило, в котором тема равна "Любая ошибка сайта". Таким образом, когда начальник пересылает мне электронное письмо с темой «FW: Какая бы ни была ошибка сайта», правило не будет его забирать, поскольку фрагмент «FW:» больше не соответствует условию в моем правиле.

Я посмотрел на настройку макроса VBA, который обрабатывает мои правила, но это слишком сложно. Так есть ли способ сделать то, что я хотел бы сделать здесь?

Обновление: я нашел работающее решение, которое удовлетворяет моей цели, но я все еще хотел бы знать, есть ли фильтр "равных предметов", а не "содержит ли субъект". Мое обходное решение - наложить ограничение на правила не только для субъекта, но и для отправителя. Поскольку эти ошибки изначально отправляются из "Службы поддержки сайта", я могу настроить свое правило для просмотра отправителя. Таким образом, если мой босс переадресует мне одно из этих писем, ограничение отправителя вернет false, и письмо по умолчанию будет входить в мой почтовый ящик.

5 ответов5

3

Выделите существующее электронное письмо, на котором вы хотите создать правило (с темой, о которой вы хотите правило), затем нажмите "Правила" на вкладке "Главная". Нажмите « Create rule>Advanced , и вы должны увидеть опцию, чтобы проверить тему с уже добавленной существующей темой (вторая внизу на скриншоте).

PS Вы также можете редактировать текст, установив флажок, а затем щелкнув подчеркнутый текст в поле "Редактировать описание правила" ниже. Так что просто отредактируйте FW: part, она все равно должна работать для вас, так как я считаю, что она не является точной ситуацией соответствия, а просто должна содержать эту строку, поэтому она должна выбрать обе опции. Если это не так, создайте одно правило для каждого предмета.

3

Вот ваш ответ, я надеюсь, поможет:

Примените это правило после того, как сообщение будет получено с любой ошибкой сайта, полученной в теме
переместить его в любую папку
кроме случаев, когда предмет содержит
«RE: любая ошибка сайта» или «FW: любая ошибка сайта»

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

(!) Не используйте исключение как: за исключением случаев, когда субъект содержит «RE» или «FW», потому что в некоторых случаях он не будет работать, если субъект содержит подопечные с RE, например (foREver, REceived, ...)

1

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

Обновление 20.11.2012

Хотя я не нашел точного ответа на свой вопрос, я нашел способ обойти то, что мне нужно. Что я делаю, так это настраиваю правило, чтобы прекратить обработку большего количества правил, если субъект содержит «RE:» или «FW:» и находится в верхней части списка приоритетов обработки правил, чтобы он не пытался обрабатывать больше правил для сообщение.

0

Следующее решение делает то, что хотел OP, за исключением того, что они сказали, что не хотят связываться с VBA, потому что это было слишком сложно. Я согласен, это сложно. Я считаю себя новичком в VBA для Outlook. Но у меня была та же проблема, и следующий макрос работал для меня, поэтому я делюсь им, в надежде, что он кому-нибудь поможет.

Public Sub File_Stock_Incoming_Message(Item As Outlook.MailItem)
  ' This macro is called from a wizard-built rule, where the
  ' rule operates on *every* incoming message, and its action
  ' is to call this macro.
  Dim NS As Outlook.NameSpace
  Set NS = Application.Session
  Dim MoveToFolder As Outlook.MAPIFolder
  Set MoveToFolder = NS.Folders("mainboxname").Folders("MsgLog")

  Dim sbjstr As String
  sbjstr = Item.Subject
  If (sbjstr = "Whatever Site Error") Then
    Item.Move MoveToFolder
  End If
End Sub

Обратите внимание, что в этом коде VBA электронное письмо будет помещено в папку MsgLog только в том случае, если тема точно соответствует "Ошибка сайта". Он не будет отправлять электронные письма с темой "Какие бы ни были ошибки сайта", а также не будет отправлять электронные письма с темой "Какие бы ни были ошибки сайта". На самом деле, как написано здесь, он чувствителен к регистру, поэтому он даже не отправит письмо с темой «какая-либо ошибка сайта».

  • Предостережение: насколько я знаю, ответ на основе VBA выполняется только на клиенте Outlook.
  • Предостережение: вы должны включить макросы в Outlook, чтобы использовать это решение.
0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .