Microsoft Outlook Email not working with Manage Apps anymore - php

We have had Microsoft Outlook email configure in our X2CRM previously. Since, the Microsoft has updated their Exchange and disable the Basic Authentication, we are left without any email integration with the CRM.
Do you have any idea of a fix for this or when it will be updated by the X2CRM?
I have tried the Manage Apps section from the CRM. Though, it does not recognize my email credentials anymore.

The latest versions of X2CRM have already resolved this issue. In the latest version (currently 8.5) that I am using, there is a new drop down option with text Outlook Email Account with Oauth2 which is the OAuth2 integration with Microsoft. You can choose this option and proceed.
On the next screen, you can simply input your information and it will open the Microsoft authorization window and ask you to proceed. You just need to verify the permissions being granted and proceed to link your Microsoft account in X2CRM.
You might also need to verify with your Administrator to ensure
that Outlook Integration is updated and enabled for your email
address.

Related

How to read mails with Graph Azure from microsoft personal account

So I got a hotmail mailbox, which I read from 'https://outlook.live.com/mail/0/', which is part of my personal microsoft account. Basically I just want to read my mails from php, and assign a category to some emails. As it is not possible with imap, I started to search any solution with Azure portal.
I logged in in https://portal.azure.com/ with my Microsoft accound mail adress and passowrd, created an app, gave it some permissions (User.ReadAll, Mail.ReadWrite), get client id, tenant id, and secret, and used this script to open my mailbox : https://github.com/CoasterKaty/PHPGraphMailer/blob/main/graph_mailer.php
I get a token with success, but I have this error code in my webpage : "NoPermissionsInAccessToken The token contains no permissions, or permissions can not be understood". This seems to be, because my app doesn't have grant permission. Searching on Google, seems I have to do that : log in as global administrator and go to Azure > Enterprise applications, and grant permission. As I am the only person using this mail adress, I thought I would be admin, obviously, but it seems not. In any case, the "Enterprise applications" page is running a loading icon endlessly and in the mean time Azure portal display a notification which says "Détails : AADSTS50020: User account '{EmailHidden}' from identity provider 'live.com' does not exist in tenant 'Microsoft Services' and cannot access the application 'blablablabla' (Azure Portal) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account."
On docs microsoft, they say this error would be linked to "This error message can occur if you have a subscription that is recently expired, inactive, or orphaned. To resolve this, you will either need to claim a new Azure subscription or transfer the subscription to a new account" or "That message can happen if you have a personal "Microsoft" account using the same email address as your O365 "Work or School" account. To resolve this, go to microsoft.com/accounts using an incognito browser so that no credentials carry over, and choose the Microsoft account when logging in".
This is really confusing, is Azure only working when you have 365 ? No need to use it with only Microsoft personal account ?
Many thanks for your support !
Détails : AADSTS50020: User account '{EmailHidden}' from identity
provider 'live.com' does not exist in tenant 'Microsoft Services' and
cannot access the application 'blablablabla' (Azure Portal) in that
tenant. The account needs to be added as an external user in the
tenant first. Sign out and sign in again with a different Azure Active
Directory user account."
We have tried to add the User who has personal outlook account and trying to access it through Graph api its throwing the below error:
If we trying to access one user who is associate and user type = Member with our tenant we can able to see the mails from graph API
This error message can occur if you have a subscription that is
recently expired, inactive, or orphaned. To resolve this, you will
either need to claim a new Azure subscription or transfer the
subscription to a new account" or "That message can happen if you have
a personal "Microsoft" account using the same email address as your
O365 "Work or School" account. To resolve this, go to
microsoft.com/accounts using an incognito browser so that no
credentials carry over, and choose the Microsoft account when logging
in".
This error might occurs If you are using azure free trial , and if your subscription expired you need to get a new azure free trial or convert the free trail to PAy-As-You-Go .Another thing is that even if you are creating azure subscription using your personal mail account ,the users gets stored in the format as shown in below image :

Using PHP-EWS to update Automatic Replies (Out of Office)

I am attempting to develop a web interface using PHP which would allow any authorised user (specifically from the HR department) to update the Automatic Reply (Out of Office) of any active Exchange user/mailbox. I have successfully connected to the Exchange Web Services (Office 365) using php-ews (https://github.com/jamesiarmes/php-ews) and retrieved user mailbox configuration. However, I am unable to locate anything concerning Automatic Replies (Out of Office). Is there anyone who could provide examples or guidance on how this can be achieved?
You will need to use the GetUserOofSettings https://msdn.microsoft.com/en-us/library/office/aa563465(v=exchg.150).aspx and SetUserOofSettings https://msdn.microsoft.com/en-us/library/office/aa580294(v=exchg.150).aspx to do that in EWS. You will also need to use Impersonation to have the specific rights to do that make those changes https://msdn.microsoft.com/en-us/library/office/dn722377(v=exchg.150).aspx.
If your using Office365 your other option is you can use the Graph API to also do the same thing https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_get_mailboxsettings which gets around any security hassles that EWS Impersonation might cause.

Can I get the current user's email address that is logging into Google Calendar on my website?

So my website has a few features that use Google Calendar. However I want to make sure that whenever the admins are using it, they must use the account that we gave them so that we can organize it easier. Is there a way for me to check what email address the user uses to login to google calendar?
This is possible when using Google Apps Email Audit API.
As stated in the documentation,
The Google Apps Email Audit API allows Google Apps administrators to audit a user's email, email drafts, and archived chats. In addition, a domain administrator can retrieve account login information and download a user's mailbox.
However, please note that it is not used with a Google Apps or Gmail account not hosted by the Google Apps products. And, you must enable API access from the Google Apps Admin console to be able to make any calls to the Google Apps Email Audit API.

Logging into Office365 email using PHP

I have an application which I would like to integrate with my company's Office365 email through a single sign on.
Here is how I was thinking of doing it:
My application can take the email address and password (or username) which users have logged into it and pass it out to a web service (in this case a PHP page).
The PHP page takes the username and password and users them to sign into Office365 email.
The user is redirected to the email page.
We are using Office365 with a local Azure tenancy and local AD.
I have used this same methodology to integrate with Open SSO, however, I can not find any information in how to authenticate to Office365 pragmatically using PHP.
Can anyone advise how this is done / where I can look?
Thanks,
-Max
Take a look at this other post that should help you out:
Using PHP and LDAP to connect to Microsoft Office 365
--- Bob ---
I appear to be closer to the answer. Take a look at my question here to view the code - Sending custom HTTP request with PHP
There is also a blog post by MSDN which will provide you with more information here - http://blogs.msdn.com/b/exchangedev/archive/2014/03/25/using-oauth2-to-access-calendar-contact-and-mail-api-in-exchange-online-in-office-365.aspx

Facebook permission dialogue allows users to change their email

I prompted for the "email" permission in my Facebook application. However, the permission dialogue allows users to change their email address. I have seen some websites like ww.imdb.com that prompts for email permission, but don't allow users to change the email address.
I want to do the same. How to do this?
I have figured it out. Just go to application settings -> Advanced Settings.
In Migrations section enable the "Enhanced Auth Dialog" option and Save.
Now, you will see the new version of permission dialogue box that does not allow users to change the email address.
IMDB implemented Facebook authorization via usage of OAuth 2.0 protocol (see Authorization Request in OAuth 2.0 specs for details)
If you using any of the flows listed in Facebook documentation for authentication you'll not be allowed deny possibility of changing email.
In fact I'm think this is an issue that Facebook does not allow changing of email in the plain OAuth 2.0 flow (and will file a bug about that!).

Categories