iphone (IOS) not able to send mails
-
I can get latest iOS working on Z-Push without issues.
It requires that the server is setup proper on SSL certs for the http server you use.
Is there a specific reason why you choose Nginx as opposed to Apache?
The packages install defaults Z-Push and Webapp through Apache. It works well.Beware of iOS Outlook app. This app is not using exchange directly, instead it uses cloud service that connects back to Z-Push (lol why!!) and it stores account related data in cloud services.
If you care about your privacy, stick to other mail clients. I invite you to read about that. And also keep a good eye on your Kopano access logs, you’ll be surprised of how much data is being accessed by the MS cloud.
Very old iOS versions would allow self-signed certs for email, but that changed since iOS 13.
-
@junglemarc: I had it also not working also with apache and tried nginx also with no luck.
The certificates are Lets encrypt certificates. I know about the outlook app (and i am also not happy with it) but been able to send mails on the go is kind of needed ;-).
-
pretty sure we can help you out get it working
When you setup the account in iOS Settings,
leave the domain section blank
only use the username / password and server fields.
What do you see in the logs if you give it a try?
-
@junglemarc I just did resetup the account still the same as i would set it up with autodiscover so doing it manual -> username, password, server, description, email. Everything works except sending mails :-(. Nothing in the log, not in the normal nor in the error log. It looks to me like something is not getting configured on IOS side. Kind of like a missing smtp setup (which is not needed i know ;-))
-
Ok so you are able to get the account to sync at first, good good.
Damn we are so very close to have it all working.
What about your postfix logs?
-
@junglemarc Well everything we achieved was already working before ;-).
Postfix also does not show any messages. As stated my feeling is that IOS is not setting up the sending part internal.
I have currently two clues which i have on my plate:
- Disable IPV6 on my server to check if it is an IPV6 based issues
- switch logon to email address instead of username
-
I’ve never used the autodiscover stuff - always done the profiles manually.
What distro are you on, and I assume you are using latest openssl?
-
Testing ipv4 only could be as simple as setting up a spare wifi router, that has ipv6 disabled at the dhcp server - without having to change anything on the server end.
Ohh, also, what if you specify the port number at the server field in iOS? yourdomain.something:port <-- i doubt that would influence something since you are already able to sync the profile… but worth the shot.
I wonder if any of the Kopano ninjas heard of a bug like this before?
-
I have disabled IPV6 (on the server ;-)) Still the problem persists.
But during testing i found out that there is a small window during setup when it is actually working (i know it really sounds strange). So for me it looks like the provisioning seems to be causing this.
Still i am on my way in testing the email address of username theory.
-
Which distro are you using, and how was it installed?
I am using Ubuntu and installed through the packages - paid subscription.
Very interesting it works for a brief amount of time.
-
Ubuntu LTS 20.xx, also with the normal repo via packages.
Do you use usernames or emails to login?
-
I’m on Ubuntu as well.
I do with usernames as a personal preference. I like how it cannot be easily guessed, it adds security, not anyone can easily challenge authentication. Helps maintain quiet logs.
-
@junglemarc I have now changed the setup of dovecot and postfix to virtual users / Email address logins. Now i can send Emails from IOS without any issues. So from my side it is working. Not sure thou why it is happening… :-(
-
This is excellent news!
Yes postfix should always be setup to let Kopano handle virtual users. This is part of documentation. Glad you got it sorted :)
lol byebye iOS Outlook - make sure to replace your passwords once you move users out of that app. Happy for you and your users that you will be able to gain back proper privacy over your email accounts.
Marc
-
I had the same problem too.
Using virtual users for dovecot (full email address as username) together with the setting below solved the problem.
define('USE_FULLEMAIL_FOR_LOGIN', true);
Using the short username without domain as login name or having the above option set to false makes iOS with Z-Push believe (for whatever reason) the email address is just the username. Changing the email address for the account in the mail settings is not possible - it always changes back automatically to the short username only. Therefore the send email function doesn’t work.
-
@aubergine If you are using the IMAP backend, this is expected behaviour, if you did not configure IMAP_DEFAULTFROM properly.
-
@bob4os
I have the same issue and tried all suggestions here. No success so far. The issue started with an iOS upgrade. Not sure anymore which one. I still have a iPhone running 12.5. For that version sending mail works for my z-push setup. With iOS 14.x and 15.x it does not.
I use Ubuntu 20.04/NGINX/Courier IMAP, but also with 18.04 I had the same issue.
The message on he iPhone (“Cannot Send Mail, Check the settings …”) pops up very quickly. I don’t see any logs or activities on the backend server. It looks to me that this error comes from a internal iOS check without communication to the backend. -
@gugudada1
One more thing: The problem seems to be related to the account definitions made in iOS. There, the first parameter to be entered is the ‘Email’. I do enter there a regular email in the form <user>@domain . Once all parameters are entered and iOS verifies the data with the backend server, always the domain is stripped away in my account definitions. Without that, sending mails would work. -
@gugudada1 Exactly. You can only change this behaviour by using the full email address as login name.
-
@aubergine
I use the full email address when configuring on the iphone. But when the account is verified by the backend the full email account name is overwriten on the iphone and replaced just with the user name. That in turn leads to an error when sending mail. This used to work with previous iOS versions. And using the full email address for account definition on the backend server is not an option for me.