From 0e004b7937f9a0a0170314dfe678d936308f972e Mon Sep 17 00:00:00 2001
From: Patrick Simpson
Date: Mon, 19 Mar 2018 14:57:11 +0200
Subject: [PATCH] [KOE-168] Disabling local resolving for send-as
---
.../Features/SendAs/FeatureSendAs.cs | 34 +++++++++++++------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SendAs/FeatureSendAs.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SendAs/FeatureSendAs.cs
index d83d2cc..33c7839 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SendAs/FeatureSendAs.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SendAs/FeatureSendAs.cs
@@ -121,22 +121,34 @@ namespace Acacia.Features.SendAs
}
private static readonly BoolOption OPTION_GAB_LOOKUP = new BoolOption("GABLookup", true);
+ [AcaciaOption("Enables local resolving look ups for senders. This is disabled by default, as it seems " +
+ "local contacts may lead to wrong senders.")]
+ public bool ResolveLocal
+ {
+ get { return GetOption(OPTION_RESOLVE_LOCAL); }
+ set { SetOption(OPTION_RESOLVE_LOCAL, value); }
+ }
+ private static readonly BoolOption OPTION_RESOLVE_LOCAL = new BoolOption("ResolveLocal", false);
+
internal IRecipient FindSendAsSender(ZPushAccount zpush, GABUser user)
{
// First try a simple resolve, this will work if the username is unique
- IRecipient recip = ThisAddIn.Instance.ResolveRecipient(user.UserName);
- if (recip != null)
+ if (ResolveLocal)
{
- // If it's resolved, we're good. Otherwise dispose and continue
- if (recip.IsResolved)
+ IRecipient recip = ThisAddIn.Instance.ResolveRecipient(user.UserName);
+ if (recip != null)
{
- Logger.Instance.Trace(this, "Resolved send-as: {0}", recip.Name);
- return recip;
- }
- else
- {
- Logger.Instance.Trace(this, "Unresolved send-as: {0}", user.UserName);
- recip.Dispose();
+ // If it's resolved, we're good. Otherwise dispose and continue
+ if (recip.IsResolved)
+ {
+ Logger.Instance.Trace(this, "Resolved send-as: {0}", recip.Name);
+ return recip;
+ }
+ else
+ {
+ Logger.Instance.Trace(this, "Unresolved send-as: {0}", user.UserName);
+ recip.Dispose();
+ }
}
}