A subset of all defined/planned test cases that cover the main functionality of a component or system, to ascertain that the most crucial functions of a program work, but not bothering with finer details. A daily build and smoke test is among industry best practices. [ISTQB]
Smoke testing : A very quick feed back by checking the major and critical functionality works fine or not. This is practised in some industry where agile development is focus. The smoke test is mandatory before planning for the further testing OR before releasing to next level testing.
In my understanding the smoke test and acceptance tests are very close to each other. But smoke test is not detailed and acceptance test will be detailed test.
Smoke Testing: A quick run of a subset of critical tests to ensure that the new build can be accepted before diving deep into the functionality testing. If the smoke tests fail, QA will have to reject the build.