-1

I'm using a PHP script to send mail to a few of my clients. Some of them reported not getting the mail. GMail users all got the mail, but yahoo and hotmail aren't. I created my own hotmail account to test it, and sure enough, no email. Not in the junk/spam folder or anything.

How can I troubleshoot this and find the problem?

I'm running CentOS5.5 with cPanel, using Exim for mail.

EDIT:

tail of /var/logs/maillog

Jan 18 22:14:39 server1 dovecot: imap-login: Login: user=<__cpanel__service__auth__imap__dsefdvpt0ystyughvg7_lukinpvjppf7a6kbps6oyro4dh...>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Jan 18 22:14:39 server1 dovecot: IMAP(__cpanel__service__auth__imap__dsefdvpt0ystyughvg7_lukinpvjppf7a6kbps6oyro4dhiob16g9un4heqo4nar): Disconnected: Logged out bytes=11/317
Jan 18 22:19:28 server1 spamd[17866]: spamd: connection from localhost.localdomain [127.0.0.1] at port 49141
Jan 18 22:19:28 server1 spamd[17866]: spamd: setuid to cpanel succeeded
Jan 18 22:19:28 server1 spamd[17866]: spamd: processing message <[email protected]> for cpanel:32001
Jan 18 22:19:28 server1 spamd[17866]: spamd: identified spam (1000.0/5.0) for cpanel:32001 in 0.1 seconds, 834 bytes.
Jan 18 22:19:28 server1 spamd[17866]: spamd: result: Y 999 - GTUBE,NO_RECEIVED,NO_RELAYS scantime=0.1,size=834,user=cpanel,uid=32001,required_score=5.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=49141,mid=<[email protected]>,autolearn=no,shortcircuit=no
Jan 18 22:19:28 server1 spamd[17865]: prefork: child states: II
Jan 18 22:19:39 server1 dovecot: imap-login: Login: user=<__cpanel__service__auth__imap__mqxzqqn3n7p4i_c1latvnurayarqzyv09znah0lqwjuzwy...>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Jan 18 22:19:40 server1 dovecot: IMAP(__cpanel__service__auth__imap__mqxzqqn3n7p4i_c1latvnurayarqzyv09znah0lqwjuzwygaebpjwsfw86gso7xe): Disconnected: Logged out bytes=11/313

But it sent a message to gmail after that 22:19:40, so I guess no outgoing mail got logged. I don't know how to turn on logging.

2 Answers 2

1

Figured out the IP my host gave me is on spamhaus.org's SBL. Sigh.

0

I would start with looking at the server mail logs. Usually located at

  /var/log/maillog 

on Cent you can see what the result was for the messages that were sent.

I would look for a yahoo address in the log and see what the result was for that message. If you see "stat=Sent (Backend Replied ..." that means that the yahoo server took the message. Where it went from server to inbox is up to yahoo. But if you see other error messages that may indicate that the yahoo or hotmail server is not accepting your mail

Depending on the IP block your server is in, it may automatically be located on a SPAM blacklist. If so when you talk to the yahoo or hotmail mailservers to deliver the message you usually get a response back that says:

 host k.mx.mail.yahoo.com[98.139.54.60] refused to talk to me: 421 4.7.0 [GL01] 
 Message   from (xxx.xxx.xxx.xxx) temporarily deferred - 4.16.50. Please refer to 
 http://postmaster.yahoo.com/errors/postmaster-21.html

The Yahoo postmaster help files contain some explanations for common messages you may see: http://help.yahoo.com/l/us/yahoo/mail/postmaster/errors/

3
  • They arent even showing up in the log.
    – Rob
    Jan 19, 2011 at 2:09
  • A) nothing is in the log, or B) Gmail is showing in the log, but yahoo and hotmail are not? If A. then need to turn on logging for whatever service your PHP script is using to send mail (such as sendmail or postfix). If B. then there might be some filter rule (in service or code) so that those messages are never getting handed off to the mailing service. Jan 19, 2011 at 2:33
  • Well, something is showing in the log, though I'm not sure. I'll edit my question with the tail.
    – Rob
    Jan 19, 2011 at 3:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .