Microsoft Graph API does not return all received mail for family and personal accounts - outlook

Using the following endpoint returns all mail (both sent and received) for a work account:
GET /me/messages
However it doesn't return all received mail for personal/family accounts. Both the v1.0 and beta versions display this behaviour.
Is there a way of retrieving all received mail for personal/family accounts?

returns some or returns error? did you give the api access permissions to those accounts?
make sure to check this official document.
The documentation says you can get up to only 1000 emails at once. And from permissions section, it seems only possible to get all emails from within an application given the permission Mail.ReadBasic.All even for work account.
I don't have a work account thus I tested sending an email to myself on my personal account and tested the query on graph-explorer test page here. The first 2 results are those freshly received and freshly sent ones. with this I will say a work and personal/family accounts are no different on getting emails since you said you can get both received and sent mails from a work account.
so in short, you can get up to 1000 emails unless you use an application with permission to read all but with limited properties because Mail.ReadBasic
allows the app to read email in the signed-in user's mailbox except body, previewBody, attachments and any extended properties, and hence I deduce Mail.ReadBasic.All does the same

Related

Outlook Graph API not receiving groups

What I am trying to achieve -
When I call message API, it returns the group address to which mail is sent, I want to get the members of the group, And for that I believe I need group Id, so I am using the groups API mentioned below https://graph.microsoft.com/v1.0/groups
But this API returns an empty list to me.
Note: email I using is #outlook.com, not xyz.com.
The Microsoft graph API doesn't support personal accounts as you can see the below image. You should have a Work account to get the group details. You were able to get the messages because it supports personal accounts to read messages from your mailbox.

Error 550 5.7.708 when creating Calendar Events via the Graph API

When creating Calendar Events via the Graph API, the events are created correctly in the calendar of the organizer but the invites to the participants get bounced. The organizer gets a 'Delivery has failed...' message with the following error message:
Remote Server returned '550 5.7.708 Service unavailable. Access denied, traffic not accepted from this IP. For more information please go to http://go.microsoft.com/fwlink/?LinkId=526653 AS(7171)
Sending emails manually through Outlook (web) from the organizer to the participants works fine.
The issue is intermittent. After changing the DNS server, everything worked fine for some time.
I checked https://protection.office.com/restrictedusers as suggested in the answers to similar posts, but this list is empty.
I also tried delisting the IP address (my own?) through https://sender.office.com/, but to no avail.
The tenant is linked to the Microsoft Developer Program and would allegedly have a 'bad reputation'. However, I don't understand how that would explain the fact that it sometimes works and sometimes doesn't when sending exactly the same API request and hence 'triggering' exactly the same emails...
I think the best way to overcome this would be to add a domain to your developer tenant as per the guidance here:
https://learn.microsoft.com/en-us/Exchange/mail-flow-best-practices/non-delivery-reports-in-exchange-online/fix-error-code-5-7-700-through-5-7-750#57750-client-blocked-from-sending-from-unregistered-domain
Add and validate all domains in Office 365 that you use to send email messages. For more information, see Add a domain to Office 365.
I'm not guaranteeing this will resolve it. You have to understand that those developer tenants are only meant for experimentation and so there are checks and balances to ensure they are used in a bad manor.
How many emails are you sending through this tenant?
Calendar events are sent out via email. Add the "Mail.Send" permission to you App Registration.
This solved it for me.

Duplicate emails being produced only through Outlook via Laravel App

We are using a web application to send out mail. Email is sent and received as expected on a server level and in GMail. However, when messages are pushed to our client's Office365 (Outlook), instead of getting one copy they are getting duplicates.
This is how the app works. You can send emails to a number of people (1,5,20, etc). It's all the same message, subject, etc. It's the same email.
The app sends you a copy. Just one. That's how it is supposed to work. Within their Office365 (Outlook) email account, they get their one copy, and then another copy for each recipient (that's not supposed to happen). So, if you email 5 people, instead of getting one email back, they get 6.
The thing is, this program has run flawlessly for nearly a year. Out of the blue, this glitch started happening.
We have had no code changes, no vendor updates, or anything of the sort on the web application side of things that would trigger since before the time this glitch started happening. When we tested locally, and on the live server, with GMail credentials, the app continues to work as it should.
We are sending out mail via SMTP.
The security protocol is "tls".
https://laravel.com/docs/5.5/mail that describes the core Laravel mail function we are using to send out mail.
The client contacted Microsoft support -- who basically said "I don't know. Not my problem".
I don't know where else to turn, or what other steps to take to debug.

After merging a Mandrill account into Mailchimp, how can I accept a verification email if my sending domain is not setup to receive emails?

We've been using Mandrill for years to deploy our app's signup confirmation and password reset emails. This has worked perfectly as we've had SPF and DKIM records added to the DNS configuration according to Mandrill's documentation for verifying sending domains.
However, after merging the Mandrill account with a new Mailchimp account--which is mandated by April 27th--it's requiring me to send a verification email to an address at that domain. The problem is that we don't have a mail server set up to receive emails. The domain is only used to send the "noreply#domain.com" emails.
Any ideas on how I might resolve this? Mailchimp is not giving an option to undo the merge, so effectively I have an app that users are not able to sign up for at the moment, which is problematic to say the least.
You'll want to configure at least one mailbox on that domain somehow to receive mail. That's the only way to confirm ownership of the domain.

Get user email in windows 10 universal app

I am trying to build a control that the user can use to send feedback to developer. I am using email as a delivery method and I leverage sendgrid email service for this. Now I want to know the users email address so I can respond back to the user's concern. I am not sure how to get the user's email in window 10. Any help or pointers please?
I would strongly recommend to use the sharing approach that has been introduced with Windows 8 - instead of writing and maintaining your own mail functionality and trying to access additional user data.
Have a look at the existing and built in e-mail functionalities. They make use of the user's connected mail accounts and the mail app. This way you don't need to worry about handling the message transmission or anything but rather hand the information over to the mail client. This way you also know how to reply back.
And as a bonus, the user can still access their message via the Sent Mails folder :)
There is a specific class for that, the EmailMessageClass (https://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.email.emailmessage.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1) as well as a dedicated guide with code example.
https://msdn.microsoft.com/en-us/library/windows/apps/mt269391.aspx
Essentially you can prepopulate the Mail fields with necessary app information where applicable. The user gets to choose which accounts he wants to send the mail from, but it will open in the mail client.

Resources