It seems that I had a slightly different issue than most people here (no mail was sent at all when trying to share a file, no matter which browser was used), but let me report my findings anyway, maybe someone has had a similar issue (or can at least rule out the possibilities described here).
For me, the root cause turned out to be that I didn't configure a user email address (and that the fallback address is determined in a way which doesn't work for my configuration).
But let me add a more detailed description on how I got to that conclusion for those having only a similar but not the same problem:
I first checked whether there is any logging concerning the mail functionality. There is, but log level has to be set to debug (i.e. there has to be a line
- Code: Select all
"loglevel" => "DEBUG",
in config.php).
Then I checked the log file (default location is in the data directory, the filename is owncloud.log).
It contained an entry like this:
- Code: Select all
{"app":"mail","message":"Invalid address: sharing-noreply@mydomain.dom:nnnn","level":0,"time":1343xxxxxx}
(anonymized in places, i.e. nnnn and xxxxxx).
By looking at the code I found out, that as sender address, either the email address configured for the user is taken, or "noreply@yourhost". I use a non-standard port, and the port number is included in the used host name, which means that the resulting email address is invalid.
So, in short, it worked after configuring a user email address, but that can be hard to spot for normal users, because ther is no hint in that direction!
In my opinion a fix for every situation would be needed and also rather simple (beware, implementation details follow): use the SERVER_NAME instead of the HTTP_HOST for determining such email addresses...
In addition, in my opinion, there should be an appropriate error message and log entry if the email wasn't sent properly. At the moment, it said "Email sent", although nothing was actually sent!