Had the same problem, mybe this is intentional.
Ok this not an official fix, but it does the trick for me.
I have compared the /etc/postfix/main.cf files from zentyal 2.2 server and a zentyal 3.0 server. The following lines do not exist in the 2.2 version, and smtp worked there.
smtpd_sender_restrictions=reject_authenticated_sender_login_mismatch
smtpd_sender_login_maps = ldap:senderlogin
senderlogin_server_host = localhost:390
senderlogin_version = 3
senderlogin_search_base =
senderlogin_query_filter = (&(mail=%s)(objectClass=CourierMailAccount))
senderlogin_result_attribute = mail
senderlogin_bind = yes
senderlogin_bind_dn =
senderlogin_bind_pw =
So I commented out the section from /usr/share/zentyal/stubs/mail/main.cf.mas, save something in the mail module and everything works like a charm.
I think that the origin of the problem is that the mail attribute is in the Users container in the ldap tree, but the mail alias is in the postfix container. So either two queries need to be made, or the attributes need to be moved into the users container.
But until no official fix I will use it this way.
As I tested it authentication still remains intact, but this way you can write anything into the from field of your mail.
Decide which finger you bite