We have moved to a new Sailfish OS Forum. Please start new discussions there.
5

Can not send e-mail when mobile data connection

Tracked by Jolla (In progress)

asked 2019-06-01 13:11:38 +0200

ajalkane gravatar image

updated 2019-06-01 14:16:37 +0200

With 3.0.3.10 I can not send e-mail (gmail account) with standard Jolla client if I'm on mobile data connection. The data connection works, and for example browser works as expected. When I try to send an e-mail, I get an alert:

"Problem with sending email"

If I connect to WLAN, sending e-mail works. Again disconnecting and using only mobile data sending e-mail does not work.

Device is XA2 plus

edit retag flag offensive close delete

Comments

XA2? The standard Sailfish OS Mail app, or an Android app?

The Android apps seem to have weirdest app-specific hiccups with mobile/wifi connections on XA2. Two days back Play Store insisted for me that there is no network connection while Chrome simultaneously surfed the net like nothing.

teemu ( 2019-06-01 14:10:07 +0200 )edit

Sorry, forgot the most pertinent information. XA2 Plus and with standard Jolla e-mail client.

I have problems with several Android applications also with wifi (but not all).

ajalkane ( 2019-06-01 14:17:33 +0200 )edit

There has been a similar issue with Microsoft Exchange accounts, where the account stops syncing automatically (and then manually). Some reports had it that changes in network may have caused it after the phone had been up and running for some time (some idle daemon acting up, or something). I personally had better luck syncing with the mobile connection though.

These latest Sailfish OS updates claim that they have fixed that issue now, but maybe there is a different related issue now courtesy of the fix?

You should try to setup journalctr to log the issues with the Email client on the Terminal, and then try to send a mail; it maybe would help to pinpoint what exactly fails in the email sending process.

Alas, you need a better man than myself to instruct you how to set the logging up, because I don't have the skills.

teemu ( 2019-06-01 14:33:47 +0200 )edit

I also have this problem, but the other way around: sending with gmail works using the mobile data connection, but not with wifi. My device is a Gemini, running 3.0.3.10. Regular email accounts work fine.

flotsam ( 2019-06-02 12:10:15 +0200 )edit

journalctl does have "Unexpected response from server: smtp.gmail.com 5.5.4 HELO/EHLO argument ..." etc.

It has a link to google's support page https://support.google.com/mail/?p=helo which says

HELO/EHLO email error
If you tried to send an email and got back a bounce message that said something like  "HELO/EHLO argument invalid" here are the steps you can take:

Contact your email administrator. You should have an administrator if you’re using Gmail for a work, school, or organization account. Otherwise, you can contact your email provider. 
Ask your administrator to send the fully-qualified domain name or IP address of the sending server when contacting Gmail servers.
This error usually comes up with devices like printers, scanners, and fax machines that also send mail. 

I can't make heads or tails of this as I tried with my personal account and not any organization account. Unless my internet provider is having some nefarious SMTP proxy that resends the message to google.

I've tried this with Saunalahti and DNA, both having same error. It'd be weird if they both suddenly decided to have nefarious SMTP proxy. It could of course be that Google itself has changed something recently that makes these nefarious SMTP proxies fail :D.

ajalkane ( 2019-06-02 20:27:23 +0200 )edit

2 Answers

Sort by » oldest newest most voted
3

answered 2019-06-13 16:01:17 +0200

flotsam gravatar image

I found the problem; my problem at any rate.

In short, IPv6 seems to confuse the message server process. If IPv6 is in use, then for some reason, it seems to take the address from the "ifb0" pseudo-interface. Unfortuneately the "ifb0" interface will have an autoconfigured link-local IPv6 address, which then gets used. e.g. it sends the ESMTP hello as: EHLO [fe80::7f1c:9e91:8e04:70b2%ifb0] This is completely bogus, and google doesn't like it, so the whole connection fails.

My workaround is to disable IPv6 on the ifb0 and ifb1 interfaces. i.e. create a ".conf" file in /etc/sysctl.d containing the lines:

net.ipv6.conf.ifb0.disable_ipv6=1
net.ipv6.conf.ifb1.disable_ipv6=1

Reboot, and, as far as I can tell, everything seems to work fine.

edit flag offensive delete publish link more
1

answered 2020-02-04 10:31:23 +0200

waterstorm gravatar image

updated 2020-02-04 10:39:57 +0200

I'd like to get this topic back into Jolla's view. This issue still exists and with backscatter spam on the rise (good explanation here: https://willem.com/blog/2019-09-10_fighting-backscatter-spam-at-server-level/) and as a result more strict SMTP server settings all over the net, this issue gets very serious.

I ran into this problem last night. I have a self-hosted SMTP server and it's setup to check the HELO message and verify the server, as is defined by the protocol (https://www.abuseat.org/lh.html). However the way the default sailfish client handles the HELO message, it will stop working with more and more SMTP servers... With this issue I cannot send any mail from my mobile phone (while receiving works obviously).

Error message of the SMTP server:

Feb 3 20:33:44 postfix/submission/smtpd[28969]: NOQUEUE: reject: RCPT from unknown[2a01:598:b108:9812:81ab:790e:9c15:6e48]: 554 5.5.2 <[2a01:598:b108:9812:81ab:790e:9c15:6e48]>: Helo command rejected: invalid ip address; from=email to=email proto=ESMTP helo=<[2a01:598:b108:9812:81ab:790e:9c15:6e48]>

I do not know that IPv6 address, it's certainly not my public IP and also none of our mail servers. So could be some internal sailfish IPv6 as @flotsam stated.

Please Jolla fix this as soon as possible! The HELO response should be the URL of the SMTP server and not some arbitrary IPv6 from the sailfish device.

edit flag offensive delete publish link more

Comments

it's certainly not my public IP and also none of our mail servers

Are you sure about that? This is a valid public IPv6 address, and the message indicates that it is the one being used for the connection, so Jolla is doing the right thing. (NB: The first [2a01:...:6e48] is what jolla is using in the HELO, the <[2a0a:...:6e48]> is the address that the server received the HELO from.)

BTW, whois says that the address belongs to "Telekom Deutschland GmbH".

flotsam ( 2020-02-04 15:20:15 +0200 )edit

@flotsam Yes, I also checked this and compared the ip to the server's ip address. In addition my router and Pi-Hole setup is (for legacy reasons) configure to not use ipv6 at all. So neither my router, nor the typical "what is my ip" website show any IPv6. Instead they tell me "you do not have ipv6 active". So yep, I do not see how my mobile could do any useful thing over ipv6 :-/

Aside from this, all other devices did work (I verified to be sure it's not the server): Android Phone, Laptop, Desktop, etc. :-/

waterstorm ( 2020-02-04 15:25:36 +0200 )edit

Most clients will avoid IPv6, to avoid problems like this. Jolla does not do this.

But in this case, I don't understand how postfix can be claiming to receive the connection from an IPv6 address, but you claim to have IPv6 disabled on that server. Perhaps I am misunderstanding the messages there.

My tests just now showed the jolla client behaving correctly, but I imagine that my sysctl.conf file is still in place, so that might still be affecting things.

flotsam ( 2020-02-04 15:48:41 +0200 )edit

@flotsam Yes, true. However our server is setup to use IPv6 if needed. So in postfix the setup for IPv6 is there, which means if the mail app would do "the right" thing, it should actually work.

However the HELO should be the IP or domain of the mail server, so it can be verified to make sure it's no spam mail. But the sailfish client does not do this somehow.

I just made a short test: I sent a mail from my desktop to "helocheck@abuseat.org" which bounces back with the correct HELO (the IPv4 and domain of our SMTP server). Then I sent the same mail using my sailfish phone and instantly receive an error from the SMTP server, so the message was never sent...

NOQUEUE: reject: RCPT from unknown[2a01:598:a901:e76d:fc66:2aa:6077:f4fa]: 554 5.5.2 <[2a01:598:a901:e76d:fc66:2aa:6077:f4fa]>: Helo command rejected: invalid ip address;

IPv6 is by the way blocked by our office gateway, so my phone should not be able to get any IPv6 here. (yeah I know ;-) old school)

NOTE: this is again a Telekom IP. My phone SIM is actually from the Telekom, maybe it uses some mobile data public IP even though I'm connected to wifi? That could actually have an IPv6...

waterstorm ( 2020-02-04 15:59:42 +0200 )edit

Update: Confirmed... If I disable "mobile data" everything works as expected, the HELO then is the same as on my desktop. So it is some kind of bug when mobile data is enabled.

So this brings up two questions for me: #1 Why does Sailfish prefer mobile data over wifi? It should always use wifi if possible. #2 Why does the mail client use the mobile data IPv6 as HELO? It should behave the same as when on wifi.

waterstorm ( 2020-02-04 16:08:00 +0200 )edit
Login/Signup to Answer

Question tools

Follow
6 followers

Stats

Asked: 2019-06-01 13:11:38 +0200

Seen: 502 times

Last updated: Feb 04 '20