You can legally send a free money order through a bank, check-cashing store, or credit union. There is no question of legality involved, because it is simply a convenience for those who do not have a checking account, and it is completely up to the merchants as to whether or not to charge for this service. Individuals obtaining free money orders from a bank may need to have a minimum balance.
Money orders are nothing more that a guaranteed type of check issued by a financial institution or specialty store. There may be companies that require a money order to ensure that the funds are available on a large purchase. Certain entities also require money orders instead of checks.
Financial institutions do not give a free money order to anyone though, and people who enter the bank that do not have an account will be charged a nominal fee for the transaction. There is normally a minimum account balance required to qualify for a free money order, but every lender has separate policies, so it may be best to research each of the area locations online before deciding which one to set up an account with. Another way to receive a free money order from a bank is to ask to speak to the branch manager and explain the situation; if the account has remained in good standing, often the free money order will be given even if the customer does not qualify.
Check-cashing stores are also notorious for giving their customers a free money order. They do so in order to entice consumers into the store to cash their paychecks, and the percentage fee they make off of that transaction easily covers the money order expenses. A little known fact is that these types of institutions provide free money orders regardless of whether or not one of their other services is requested, and this can be verified by a phone call before making the trip. If that particular location does not give free money orders, there is little sense in providing them business on other transactions.
A credit union is another popular destination to receive a free money order, and it can provide this service to each of its registered customers. Other places to check would be insurance companies, major department stores, petroleum stations, or grocery stores. Several of these businesses have a policy that if a certain amount of money is spent within their store, they will grant a free money order, so be sure to call ahead or read the signs on the counter before ordering.