When transmitting email, the content is sent through a specific port number. Mail submitted via SMTP traditionally defaults to port 25. For an overview of SMTP, view the following link:
TCP port 25 is frequently blocked by Internet Service Providers (ISPs), as an anti-spam technique since it's used in MX spamming and abuse of open proxy/relay machines.
To send email on such ISPs, one must either:
- use the ISP's own SMTP server – This may require you to use the ISP's domain in your email address, rather than your own domain
- connect to your SMTP server at DreamHost using port 465 or 587.
Port 25 at DreamHost
DreamHost blocks OUTGOING SMTP calls on shared servers. However, this is not a restriction on VPS/Dedicated Servers. For example:
- If a DreamHost customer sends email off of their web server via an SMTP script and they are attempting to connect to an external mail host (not a DreamHost mail server) then port 25 is blocked; but, they are able to connect from the web server via port 25 directly to any DreamHost mail server.
The easiest solution is to configure your email client and set your outgoing port to 465 with SSL (recommended) or 587 with (STARTTLS).
Another option is to use your ISP’s SMTP server. If you are getting error messages when you try sending mail which state that smtp.example.com is not responding or not found, contact your ISP and find out if they're blocking port 25. If they are, you can probably send outgoing mail through their outgoing mail servers.
Sometimes, however, an ISP will not allow email to be sent through their SMTP server with a different domain. In other words, you may only be able to use their SMTP server if you have your reply address set to your ISP-based email address, not your custom domain name address that you have at DreamHost.
PHP mail SMTP options
View the following articles for full examples on how to send mail via PHP SMTP mail:
List of ISPs
Some major ISPs that block port 25, and the addresses of their SMTP servers, are: