This is something you need to take to your manager (there is development managers, right?) and explain the problem.  It's a change that needs to happen on an organizational level - sales needs to get buy in from development before making commitments, and before that will happen, they need to get that direction from their bosses.  

There's nothing you can do to actually make the change happen, but you should definitely be bringing it up to your manager.  

In addition to trying to change the culture (good luck), any time they come to you with a deadline you can't meet, push back - with numbers.  Break down the project and show them your time estimate.  If it's a six week project, tell them.  If it's been promised to the client in four weeks, you can't do it, and you need to disseminate that information as quickly as possible.  Hopefully, your salespeople will be able to go back to the client and set better expectations, or work with you to come up with a smaller acceptable feature set to deliver within the promised timeline, with the additional features to be added later.

**Edit to add:** Do not let them talk your estimate down.  Be confident that it's correct, and stick to it.  They *will* try to bargain with you, but don't let them.