You can make a difference in the Apple Support Community!

When you sign up with your Apple Account, you can provide valuable feedback to other community members by upvoting helpful replies and User Tips.

💡 Did you know?

⏺ If you can't accept iCloud Terms and Conditions... Learn more >

⏺ If you don't see your iCloud notes in the Notes app... Learn more >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Temp fix for iOS 6 not pushing Exchange mail

All,


If you are reading this, you are probable having the same problem as I am:


After you switched to the iPhone 5, Exchange mail is no longer PUSHing to your device. I have done testing and this problem affects:


1) iPhone 5's running connecting to Exchange 2007 or Exchange 2010 servers.


This does not effect:


1) my iPhone 4S running iOS 6 Beta 6.0 10A5376e


Troubleshooting:


1) Wiped phone and started with completely fresh iOS 6 on my iPhone 5. The only thing I did was add my exchange account.

-Still had same issue.


** How to fix this issue:


1. Go to Mail, Contacts, and Calendar. Click "Fetch New Data". Make sure push is on.

2. Go back to Mail, Contact, and Calendar. Click on your exchange account. Click on "Days to Sync". Even if it is set to what you want this on, chance it to a different setting (i.e. 1 week). You can change this back later, but this is the only way to fix it.

3. Go back to Mail COntact and Calendar. Click on "Show". No matter what this setting is on, change it to a different setting. (i.e. 100 recent messages).

4. Reboot your iPhone 5

5. Exchange PUSH will be working now.


Thanks,


Clay

iPhone 5, iOS 6

Posted on Sep 24, 2012 5:42 AM

Reply
929 replies

Sep 27, 2012 7:00 AM in response to superclay

The protocol is not hardware specific, but the implementation of iOS6, and therefore the implementation of the protocol, may be.


Having said this, I don't think the implementation of the protocol in iOS6 for iPhone 5 is neccessarily incorrect; it may be buggy, but not "incorrect". I say this because messages are successfuly pushed for the first 15 minutes or so after resetting settings or restarting the phone. This means that the iPhone must have had a HTTP connection open for this period of time.


I don't know the details of the ActiveSync protocol, but I am very familiar with HTTP long-polling. I imagine, as in long-polling, that the connection needs to be reestablished after a period of time due to a time-out. This could be the issue: the connection is not being reestablished after a time-out and we lose push support.


However, the HTTP long-poll is being reestabled after a push is received; therefore, I hypothesize that the iPhone is not restablishing a long-poll after a timout, but is in fact doing it after the connection is closed from a push response from the server.


A way to test my theory would be to continuously send yourself messages for ~30 minutes. If all the messages are pushed, then wait ~30 minutes and send yourself one more message. If that message is not pushed, then my theory is correct. Otherwise, I'm wrong. Anyone want to give that a try? 🙂


If you decide to conduct the test I propose above, you should have fetch set to manual, of course, so that the phone doesn't fetch.

Sep 27, 2012 6:59 AM in response to hanishi

What do you mean? Are you asking if I am sure that the the emails are being pushed to the iPhone for the first ~15 minutes after resetting settings or restarting the iPhone? If this is what you're asking, then yes, I am sure. I have tested this myself, and you can too, by sending yourself a message every minute or so and hearing the phone go 'ding!'. If the email was not being pushed, we would have to wait the 15 minutes or so to get the message.


Furthermore, I have fetch set to manual. If you decide to conduct the test I propose above, you should have fetch set to manual, too.

Sep 27, 2012 6:59 AM in response to sbenitez

I've given up on troubleshooting/fixing this mess. I just switched to fetch for now. Whatever the problem is, Apple needs to fix it and fast. In response to Superclay and Hanishi, PUSH works flawlessly on my 4S and iPad 2 with IOS 6 so obviously this particular issue is isolated only to iphone 5's.😕

Sep 27, 2012 7:10 AM in response to sbenitez

Absolutely agree with you. But all I can say right now is...good luck. I'm really just venting more than anything else out of frustration that I cannot understand how Apple didn't test this before deploying to the masses and correct it. Such a critical feature. Also, according to Frank every IOS release/upgrade has broken PUSH in some way shape or form in the past. Perform your test, but my findings show that you can go crazy sending yourself messages when push is working (after a reboot for example) but that it will eventually stop, even if you continue to send yourself messages.

Sep 27, 2012 7:18 AM in response to DQMIA

I completely sympathize with you. I depend on push as much as it seems that you do, and I was extremely frustrated to find that it didn't work on my iPhone 5 but worked perfectly on my old Epic 4g, and I have even contemplated returning the device until this issue is fixed.


However, if what you're saying is true, that even if you continously send yourself without a long pause between the messages and push stops working, then I'm wrong. However, if I'm not wrong, then we've identified what is mostly likely the primary issue and the fix should be fairly straightforward.


hanishi: I'm not sure how to use your tool. However, if you have infrastructure setup to monitor push on your iOS device, then you should be able to create a script that tests this easily. Simply have the script send the device an email every 30 seconds or so for 20 minutes. Then pause for 20 minutes. Then send more test messages. On the device side, record what you've received. If you find that you receive all of the message in the first batch and none of the messages in the second, then we've identified the issue.

Sep 27, 2012 7:36 AM in response to sbenitez

Here is what is communicated between Excahnge and iOS device, for instance. And as long as there is no <PING> command initiated from the device side, no PUSH is possible. I only see "Fetching" as aforementioned.

<?xml version="1.0" encoding="UTF-8"?>

<Settings>

<UserInformation>

<Get />

</UserInformation>

<DeviceInformaton>

<Set>

<Model>iPod4C1</Model>

<UserAgent>iOS/6.0 (10A403) dataaccessd/1.0</UserAgent>

<OS>iOS 6.0 10A403</OS>

<OSLanguage>ja</OSLanguage>

<FriendlyName>ホワイ??iPod touch</FriendlyName>

</Set>

</DeviceInformaton>

</Settings>



2012-09-27 23:01:22,711 [DEBUG][org.eclipse.jetty.util.log] to device:

<?xml version="1.0" encoding="UTF-8"?>

<Settings>

<UserInformation>

<Get>

<Accounts>

<Account>

<EmailAddresses>

<SMTPAddress>hanishi@169.254.56.241:8080</SMTPAddress>

</EmailAddresses>

</Account>

</Accounts>

</Get>

<Status>1</Status>

</UserInformation>

<DeviceInformaton>

<Set>

<Model>iPod4C1</Model>

<UserAgent>iOS/6.0 (10A403) dataaccessd/1.0</UserAgent>

<OS>iOS 6.0 10A403</OS>

<OSLanguage>ja</OSLanguage>

<FriendlyName>ホワイ??iPod touch</FriendlyName>

</Set>

</DeviceInformaton>

<Status>1</Status>

</Settings>


Here is how you use the tool:

In Excahnge settings, set the properties as follows:

username: <anything>

password: <anything>

server:182.48.51.164:8080

and disable SSL


The password and user name must match the ones you added to the list.

Sep 27, 2012 7:43 AM in response to hanishi

How are you logging this? Do you have an Exchange server set up that your device is talking to?


Also, this seems to be the iPhone requesting user information via the Settings command and nothing else.


<UserInformation>

<Get />

</UserInformation>


I've just now read through the relevant parts of the ActiveSync protocol, and I believe that my theory has merit based on this section of the protocol command's reference:


The server does not immediately issue a response to the client's Ping request (section 2.2.2.11.1). Instead, the server waits until one of two events occur: either the time-out that is specified by the client elapses, or changes occur in one of the folders that the client specifies. The response that the server issues indicates which of these events has happened so that the client can react appropriately.


I believe that the iPhone is sending a Ping command initially, and after a successful return from the Exchange server, but not when a time-out occurs. Do you see an initial Ping command in your logs?

Temp fix for iOS 6 not pushing Exchange mail

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.