So I'm assuming mail does not go in civilian aircraft.
Like many thing in aviation it depends. For shipping it will depend on where you are shipping to and from, how big the item is and the chose method of shipment. Both FedEx and UPS (who are private shipping carriers) operate large fleets of cargo airplanes. In many cases a shipment may end up on one of their own cargo planes. However their planes, like passenger planes run routes that may be pre-decided. As such passenger airlines sell the leftover cargo space to anyone willing to buy it. You can find a nice blog post on how it works here. UPS/FedEx may pre-broker a deal to buy a certain amount of cargo space per year from an airline to obtain a better rate or they may buy it on demand as needed.
Now Air Mail is a bit different as its offered (here in the US) by the government postal service. Technically the USPS no longer offer airmail service as it was once called but does still offer domestic and foreign guaranteed time shipping. All of these items are moved in cargo space on Commercial Passenger Planes or by under contract by FedEx as the USPS no longer operates any aircraft.
Am I right, and if so, what's the reason for that? It seems it would
be extremely more efficient at least for small shipments.
Like most things in aviation low cost will always beat out marginal efficiency. If FedEx can ship a package at a significantly reduced rate but in turn it will take an extra day or two to arrive than many customers will see a value add in that. In the same vein it would be very efficient to fly every passenger in a small plane to an airport closer to their final destination and have the plane depart when the passenger needs to, however the cost of that simply would never work out.