1. A method for identifying spam messages, the method comprising: receiving a message over a communication network interface; receiving one or more indications from one or more user devices indicating that the message includes spam; executing instructions stored in memory, wherein execution of the instructions by a processor: scans the received electronic message to identify that the message includes one or more candidate distinguishing properties, wherein the scan further checks that required characters are present in at least one of the candidate distinguishing properties and that forbidden characters are not present in the at least one candidate distinguishing property, identifies that the received message is a spam message based on the one or more indications received from the one or more user devices indicating that the received message includes the spam, and generates a signature from the at least one candidate distinguishing property; storing the generated signature in a database storing a plurality of signatures each associated with the spam; receiving a subsequent message; and identifying that the subsequent message includes the spam based on a signature of the subsequent message matching the generated signature stored in the database.