PHP Bulk Emailer

If you send email to 5,000 people using standard PHP tools, your ISPs might be blocked in seconds.

I think you already read below articles…

Amazon Simple Notification Service Command Lines

Theory About Bulk Emails

Emails are not working on server?

Amazon SES – Emails In Cloud

Open source – Port25

Linux Mail Servers

Email’s Major Sections

Header – From, To, Subject, Date, Message-Id
Body – HTML / Text

Server must have …

* Dedicated public static IP address
* Reverse DNS record for IP address
* Contact info in WHOIS record
* Mailbox Tracker
* SPF Records
* Signed message using DKIM
* VERP – Variable envelope return path
* Automatic Bounce Handling
* Email Scheduler
* Email Subscribe / Unsubscribe
* Keep the IPs white-listed

Limit on servers

500/per hour on the Shared servers is the limit.

Other References

http://framework.zend.com/manual/en/zend.mail.html
http://pear.php.net/package/Mail_Queue
http://www.phplist.com/details
http://wiki.e107.org/index.php?title=Bulk_mailer_interface
http://swiftmailer.org/
http://sourceforge.net/projects/phpmailer/
http://mlmmj.org/
http://www.gnu.org/software/mailman/index.html

Theory About Bulk Emails

Electronic mail (e-mail), is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks.

An email message consists of three components, the message envelope, the message header, and the message body. The message header contains control information, including, minimally, an originator’s email address and one or more recipient addresses.

Amazon Simple Notification Service Command Lines

The size of email (Total amount of data to send) is determined using above components.

Mail delivery agent
A mail delivery agent or message delivery agent (MDA) is a computer software component that is responsible for the delivery of e-mail messages to a local recipient’s mailbox.

Message transfer agent
A mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using a client–server application architecture. An MTA implements both the client (sending) and server (receiving) portions of the SMTP.

Comparison of mail servers

Common Question among Friends…
How many email I can send through my mail server?

Well, Everything depend on your server including “EMail Server”…. we can say all depend on our budget 🙂

The number of emails you can send depend on… “Server’s Bandwidth”, “Size of Messages”, “Expected number of failures”…..

Number of seconds to send all data = Total amount of data to send / Bandwidth per second

Some Hosting packages (# emails depend on server):
Budget Shared Hosting Plans – 100 emails per hour
Unlimited Hosting Plans – 100 emails per hour
Advanced Shared Hosting Plans – 250 emails per hour
Professional Shared Hosting Plans – 500 emails per hour
Resellers – All Reseller Servers have a 500 email per hour
Semi-Dedicated Servers – 5000 emails per hour
Cloud VDS – No Limit
Dedicated Servers – No Limit
Enterprise Cloud Servers – No Limit

Solution:

PowerMTA – This is a product from port25.com specifically a mail delivery backend that handles email delivery, inbound bounces & replies, reporting & load balancing.

System Requirements for PowerMTA:

Minimum recommended production hardware
CPU: Single Dual Core, 3.00 GHz or better
RAM: 2GB
Disk: 2 or more in RAID 0 (striping)
Network: 1Gb Ethernet

Features:

# Number of simultaneous connections
# Number of messages per connection
# Number of delivery attempts per hour (throttling)
# Retry period and bounce period
# Authentication method
# Latest version includes x messages per second delivery rate support.
# Ability to break connections of lower priority queues
# New IP address warm-up feature to help build reputation
# Ability to pause queues and delete or re-start
# Real-time reputation monitoring
# Command line statistics and analysis utility
# Web-based status monitoring
# Data export of statistics log (XML, CSV, HTML, etc.)
# API to statistics log (C, Java, Perl)
# Data can be accessed in real-time or batch mode.
# Statistics can also be retrieved on a “per job” or “Virtual MTA” basis.

Other Factors that effect Message delivery:

* Available free disk space
* Disk I/0 performance
* Disk fragmentation levels.
* Other network traffic
* Retry times
* DNS response times
* external connection availability
* Error modes of external mail servers
* Availability of destination servers

Source:
http://mikehillyer.com/
http://www.gordano.com/kb.htm?q=708
http://www.labnol.org/internet/email/gmail-daily-limit-sending-bulk-email/2191/
http://en.wikipedia.org/wiki/Comparison_of_mail_servers