Link to home
Start Free TrialLog in
Avatar of rom109
rom109

asked on

Manual VPS - PHP mail() and PEAR smtp taking a long time, sending three emails

I was running a website on a shared hosting account.  Part of this website involved sending a lot of messages via PHP mail().  Unfortunately, all shared hosting providers I could find had a cap on how many emails could be sent per hour.

So, I decided to get a VPS.  I am cheap, so I thought I would get an unmanaged one with cpanel.  Everything is fine and dandy, I have everything up and running.  The only problem I have, is that every message sent by php mail takes about 30 seconds to send.  Not only that, but it sends it three times.  The same thing happens when I send via the PEAR SMTP package.  Takes about 30 seconds, and sends three times.

It could be a DNS issue, I had no idea how to set it up, so I guessed:
A-type: @ smsalertsonline.com 174.36.99.28
A-type: www.smsalertsonline.com 174.36.99.28
MX entry: @ smsalertsonline.com - Mailer-server: smsalertsonline.com

Any ideas?  Any other info you need?
Avatar of rom109
rom109

ASKER

In case it is helpful, I am running a Linux, CentOS box with Cpanel:
/etc/hosts:
127.0.0.1 localhost.localdomain localhost server1.smsalertsonline.com
# Auto-generated hostname. Please do not remove this comment.
174.36.99.28 server1.smsalertsonline.com web  server1 smsalertsonline.com

/etc/resolv.conf:
nameserver 4.2.2.1
nameserver 4.2.2.2
You will want to determine if this is an issue with the mail server (exim) or with PHP/Apache.
Can you start by sending a unique message, and then displaying the mail logs? For example, if you put "foo@bar.com" as the recipient, you can run this SSH command to find the relevant logs. Thanks.

after submitting the form, grep for the email address you used:
# cat /var/log/maillog | grep "foo@bar.com"
(please let us know what results you receive).
# cat /var/log/exim_mainlog | grep "foo@bar.com"

Let us know the results of the logs (if there are 3 entries, most likely this is PHP submitting the form 3 times).
Also, what email client are you using? For example, there was a problem with Outlook duplicating the message. If you use the webmail to check the mail, does that also show triplicate messages?

http://support.microsoft.com/kb/885870
Avatar of rom109

ASKER

Pete, you were right, the triplicate messages were just an outlook bug that has since been fixed.  But the long wait on sendmail is still a problem.

When I use php mail() to send a message to "foo@bar.com", /var/log/maillog has no mention of foo@bar.com, and exim_mainlog just says "2011-02-16 12:27:41 1Ppm5r-0008IF-7Q ** foo@bar.com R=fail_remote_domains: The mail server could not deliver mail to foo@bar.com.  The account or domain may not exist, they may be blacklisted, or missing the proper dns entries."

And it took 27 seconds to send.  Could I just have a slow server?  Is that a normal wait time?
Avatar of rom109

ASKER

I noticed also that I keep changing /etc/resolv.conf to my nameservers, but they keep changing back to 4.2.2.1 and 4.2.2.2.  Could this slow things down?  How can I  get it to stay as my nameservers?
Avatar of rom109

ASKER

Also when I SMTP to a different server (that sends fine on its own) it still takes about 30 seconds.  So perhaps the problem isn't sendmail, but an email setting somewhere?
ASKER CERTIFIED SOLUTION
Avatar of pete-mcpetey
pete-mcpetey
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial