Do users have to be logged in to send email? If so, create a field in the user table called "last_email_sent" and make it an int. When they send an email, write the time() to that field. Before you send the email, check the value of that field - if time() - last_email_sent < 60 then post a message that they must wait 60 seconds between sending emails. Otherwise, send the email.
If users can send emails without being logged in, then you are going to have to restrict them by cookies or IP address. (Of course, a good spammer can fake cookies and switch IP addresses so this solution isn't perfect). If you decide to go the cookie solution, write the time() to their cookie when they send an email and before they send emails, check to see if the time() - cookie_value < 60. If you decide to restrict them by IP address, then you need to create a table and write their IP and the time of the last email sent.
If your web site costs a monthly fee to join, then spammers will go elsewhere. If it's free to create an account, then spammers can write a script that creates and account, sends a spam, logs out, creates a new account, sends a spam, and loops until you run out of hard drive space with all these junk accounts.
As you can see, there is no simple solution except charging a monthly fee to use your web site.