This project is an implementation of an NLP-based solution for filtering out e-mails as ham or spam. It takes advantage of Bag of Words (BoW) representation from NLTK for feature generation and multiple Scikit-Learn machine leaning classifiers (KNN Classifier, Decision Tree, SGD Classifier, Naive Bayes, SVM Linear) and a voting classifier from ensemble model to find best of all. The system is evaluated on the basis of precision, recall, f1-score, support and a confusion matrix.