Prevent Outlook autodiscover wizard from filling the email address - outlook

I would like to prevent outlook from filling the email address field in the auto account setup wizard when domain joined.
An example of my scenario is described here:
http://blogs.technet.com/b/kristinw/archive/2013/04/19/controlling-outlook-autodiscover-behavior.aspx
Is it possible to do so?

The Outlook extensibility model doesn't provide anything for that.

A registry key is available, solution here : http://www.dotnetmikael.com/2015/02/outlook-profiles-prevent-account-setup.html

Related

Changing Account with "on-send" feature?

I have a customer with multiple users, they have two emails accounts on two differents domains.
One is managed by Office365 : Teams / Calendar, example : #my-business.com
Second is for "secure" communication, exemple : #my-secure-email.com
The second one is really not used very often but the emails sent or received must absolutely not go on Office365 (legal reason)
I want to force user to send emails to *.#my-secure-email.com with second account.
With "on-send Feature" i think i can "block" emails but ideally it should be possible to dynamically change the account used in Outlook according to the recipient's address ?
EDIT to clarify :
Is it possible to change sender account with office-js and "on sender" feature on office365 ?
Is it possible to change sender account direclty in Outlook for Windows based on recipient address ?
Thanks
Guldil
Is it possible to change sender account with office-js and "on sender" feature on office365 ?
No, it is not possible. OfficeJS doesn't provide anything for that.
Is it possible to change sender account direclty in Outlook for Windows based on recipient address ?
Yes, you can choose the sender's account in Outlook manually or by using a VSTO add-in instead. The MailItem.SendUsingAccount property is available in the Outlook object model (available for VBA macros and COM based add-ins). The property allows setting an Account object that represents the account under which the MailItem is to be sent.
But web add-ins work under the context of currently selected item only (or in case of UI-less add-ins what they activated for) and don't provide access to application-wide features like choosing email account to send from.
You can post or vote for an existing feature request on Tech Community where they are considered when the Office dev team go through the planning process. Use the github label: Type: product feature request at https://aka.ms/M365dev-suggestions .

VSTO Identify shared vs User mailbox

In a VSTO add-in, I am trying to retrieve if the type of the mailbox is shared, user or resource.
I read some interesting posts related to the question and try to look at the OlExchangeStoreType or GetConversation or MailboxType but did not succeed.
I have seen the solution (3) from #DmitryStreblechenko but I would prefer to not use EWS if possible.
It seems that the value that I am looking for is the msExchRecipientTypeDetails.
Any help would be highly appreciated.
Relevant articles
EWS Get mailbox type (user/resource/shared)
MailItem.GetConversation() on shared mailbox
In Outlook Addin, how do I determine if an email's Sender is a shared mailbox email address?
https://www.codeproject.com/Questions/1088741/How-to-list-subfolders-in-inbox-folder-in-shared-e
https://learn.microsoft.com/en-us/answers/questions/612248/in-outlook-addin-how-do-i-determine-that-an-email.html
First of all, VSTO doesn't provide anything for that.
Second, the Outlook object model doesn't differentiate shared/local stores. So, you will not find any property or method for that in the OOM. The best what you could do is to use the Store.ExchangeStoreType property which returns a constant in the OlExchangeStoreType enumeration that indicates the type of an Exchange store.
It is up to you which way/workaround is to use form the list shared above.
You don't need to use EWS - try to read Namespace.AutoDiscoverXml property to check if the shared mailbox and its type are there - you can see it in OutlookSpy (I am its author): click Namespace button, select AutoDiscoverXml property.
Look for the AlternativeMailbox\Type nodes - you can have "Archive", "Delegate", "TeamMailbox".

How to have two separated contacts with same email address?

Using Exchange 2013 and Outlook 2013, I need to have two separated contacts with same email address. What I've seen is once I create a contact with an email address, for the second contact (even though I choose to create a new contact instead of update the existing one) Outlook merges two contacts details.
Now the question is, is this doable at all? Can I have two or more contacts sharing same email address but having isolated details?
In fact, I'm using ews managed API to do this programmatically, but that doesn't matter because same thing happens by using Outlook directly.
Update: Looks like Outlook 2013 by default links contacts with the same email address. And according to this post Office Community the only way to stop that is changing a registry key!
Now I wonder if it's possible to stop this from Exchange side.
You can turn off Duplicated detection in Outlook in the Option-Contacts, in EWS it shouldn't be doing any duplicate detection, if the contact is in the GAL then it will resolve it to the GAL address. Generally in this case your creating a OneOff Email address for a contact you can ensure that unique by using a different display-name when your create the contact. eg
Contact contact1 = new Contact(service);
contact1.GivenName = "Fred";
contact1.Surname = "Smith";
contact1.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress("fred smith1", "fsmith#domain.com");
contact1.Save();
Cheers
Glen

microsoft outlook how to send an email from an email group which I belong to?

I belong to a email group in the company I work for, such as for example, researchteam#company.com. My personal email is raulmercado#company.com. I want to send emails from researchteam#company.com instead of raulmercado#company.com. I'm using Microsoft Outlook and Exchange as a Email Server.
Thanks for your help!
If you using Outlook 2010 then you could try MailItem.SendUsingAccount property.
Here is an example
Exchange always sends out all emails coming from the default email address. And for each Exchange mailbox this default address is fixed and can not be changed in Outlook. You can use one of two options:
You can create an additional mailbox in Exchange for the second address (as the default email there of course) and then give your normal account "Send-As" rights for that new account. Then you can switch on the "FROM" field in Outlook (right-click options > Show Fields > From) and use that field to select the account you want to send from. In Outlook 2013 you can also just connect to the additional Exchange account and might get slighly easier switching.
You can use a 3rd party tool like ChangeSender (http://www.servolutions.com/changesender.htm) to get automatic switching of the accounts when you answer email (answered automatically with the account the email was received under).
Hope this helps - Claus

Can an arbitrary email address be used in workflow send email activity

I'm wondering if there is any way to be able to include an arbitrary email address as the To:, From:, CC: or BCC: fields of a send email activity? It appears that they must be contacts in the CRM.
I ask this because I have a requirement to cc a known group email (no actual user associated with the email...something like support#mycompany.com...though it's not a queue at all). I'm concerned that if I create a CRM user for this email, that when I move to production, I'll have to change all the workflows using this email to point to the CRM entity on the production box (assuming GUID is saved with activity).
If an arbitrary email isn't possible, any other suggestions?
I'm not quite sure, if I have unterstood your question right:
You want to create a workflow which contains a send mail activity. You would like to set one of the address fields (To:, From:, CC:) to a plain mail address like 'foo#bar.org'?
It is possible if
you enter the mail address by hand (do not use the field assistant)
you have configured that e-mails with unresolved recipients are allowed to be sent.
See Settings -> Administration -> System Settings -> E-Mail Tab
you don't want to set the e-mail address with another workflow step
To my knowledge, the only way to do this would be to create a custom workflow assembly. This may be more trouble to you than it's worth.
I doubt it. Not without horrible SDK or Custom Workflow Activity machinations, which even then may not work. Unless you have a truly gargantuan number of workflows that must be altered, the manual approach may be the best.
It may be a terrible hack, but you might be able to replace instances of the development environment support account GUID with its production counterpart directly in SQL Server. Not in the SystemUserBase table, but in whatever workflow activities mention the support account as a CC field in an e-mail. But that is scary stuff.
You may also want to take another look at your process; a significant portion of Dynamics CRM is dedicated to handling support issues, and that includes fairly robust e-mail tracking and storage; there probably shouldn't be a need to CC this support mailbox to which you refer.
In summary: All of the options I've listed are terrible. Find a way to avoid them. :-P
I've had this requirement before, and even with workflow activities, there doesn't seem to be a way to handle this (even though CRM will allow it through the UI).
Your instinct is right that if you create a user separately in both environments and then try to move a workflow that references that user between the environments, that the workflow references will have to be updated.
The best solution, to me, would be to go with just creating the contact/user in one environment. But then, create the contact/user in your other environments with the same Guid. You can do this through the API quite easily, or for a no-code solution, there is a Microsoft provided CRM Configuration Data Utility (http://msdn.microsoft.com/en-us/library/dd442453.aspx) that you can use. (Note that the utility will want to migrate all records from the chosen entity, so you might want to export it to a file, edit the resulting file which is just XML, and then import to your target).
This is something that you can do with CRM 2011, CRM 2013, or CRM 2015 if you have a custom entity that is email enabled and then copy the email address from your core entity even if that email address is in a custom text field to it and relate it back via a lookup field. Doing that would require a plugin in Microsoft CRM 2011, but is possible to do with real-time workflows in Microsoft CRM 2013 and Microsoft CRM 2015. This method would allow you to have email addresses associated to the records and available for usage with the CRM workflows to send emails without needing to create an additional user or contact record. This is also handy if you are working with an entity like Incidents that is a core CRM entity and is not email enabled, yet you wish to be able to send emails related to that entity. You could use this method in conjunction with the steps ccellar provided.
I've got a blog post that goes through an example of this here: http://dynamicsuniversity.com/steps-to-send-emails-to-custom-email-address-text-field-from-a-workflow/
You can write custom workflow or you should go for plugin development.
You will get details for it on below blogs.
For custom-workflow
https://msdn.microsoft.com/en-us/library/gg334455.aspx
Blog:-
https://lakshmanindian.wordpress.com/2012/10/14/custom-workflow-activity-in-microsoft-dynamics-crm-2011/
more knowledge on your email sending requirement.
https://social.microsoft.com/Forums/en-US/375f5dad-0382-4112-ab0d-5b42ba235d96/crm-2011-workflow-sending-email-problem?forum=crmdevelopment

Resources