Machine Learning Techniques for Spam Detection in Email and IoT Platforms: Analysis and Research Challenges