1

Possible Duplicate:
Outgoing mail from linux not being delivered

SOLUTION
As someone marked this a a duplicate I cannot post the actual answer that worked for me and that can be found here: https://serverfault.com/a/128218/42894 (and not in the duplicate link).

Our website email system based on the CakePHP (1.3) email component has been working perfectly fine for a year and suddently it's not sending emails since yesterday to certain domains anymore, and sometimes even randomly.
I use the mail() php function to send emails via the website (account modifications, project updates, ...), and we retrieve our emails via gmail (we are using google apps). When I try to send an email to a user in our own domain, I get the followin error in /var/log/mail.log:

Mar 9 10:12:29 newserverxxxx sm-mta[27999]: q29ACTlt027999: < user@ourdomain.com >... User unknown

We also have issues with dsn=4.0.0, stat=Deferred on certain users from other domains receiving randomly their emails or not.

We are running a Debian (lenny) + sendmail, with everything up to date.

EDIT: here's the dig mx ourdomain.com output:

newserverxxxx:/# dig mx ourdomain.com

; <<>> DiG 9.6-ESV-R4 <<>> mx ourdomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45980
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 3, ADDITIONAL: 10

;; QUESTION SECTION:
;ourdomain.com. IN MX

;; ANSWER SECTION:
ourdomain.com. 86400 IN MX 30 aspmx5.googlemail.com.
ourdomain.com. 86400 IN MX 1 aspmx.l.google.com.
ourdomain.com. 86400 IN MX 5 alt1.aspmx.l.google.com.
ourdomain.com. 86400 IN MX 5 alt2.aspmx.l.google.com.
ourdomain.com. 86400 IN MX 10 aspmx2.googlemail.com.
ourdomain.com. 86400 IN MX 10 aspmx3.googlemail.com.
ourdomain.com. 86400 IN MX 30 aspmx4.googlemail.com.

;; AUTHORITY SECTION:
ourdomain.com. 80089 IN NS ns2.phase8.net.
ourdomain.com. 80089 IN NS ns0.phase8.net.
ourdomain.com. 80089 IN NS ns1.phase8.net.

;; ADDITIONAL SECTION:
aspmx.l.google.com. 99 IN A 173.194.67.26
alt1.aspmx.l.google.com. 97 IN A 173.194.70.26
alt2.aspmx.l.google.com. 99 IN A 173.194.69.26
aspmx2.googlemail.com. 399 IN A 74.125.43.27
aspmx3.googlemail.com. 399 IN A 74.125.127.27
aspmx4.googlemail.com. 536 IN A 209.85.229.27
aspmx5.googlemail.com. 536 IN A 74.125.157.27
ns0.phase8.net. 658 IN A 85.233.160.69
ns1.phase8.net. 658 IN A 85.233.160.68
ns2.phase8.net. 658 IN A 85.233.164.62

;; Query time: 7 msec
;; SERVER: 217.112.87.147#53(217.112.87.147)
;; WHEN: Fri Mar 9 11:37:08 2012
;; MSG SIZE rcvd: 438

Nicolas
  • 444
  • 2
  • 6
  • 16
  • What does `dig mx ourdomain.com` say? Is it pointing to correct server? Is this server local? Can you send emails to this address from external source? – Dmitry Alexeyev Mar 09 '12 at 10:54
  • `dig` output above. Yes I can; everything's working fine for sending/receiving emails on `ouromain.com`. It's just up to the emails sent from the website. – Nicolas Mar 09 '12 at 11:42
  • is php configured to send mail using an smtp relay, or calls `/usr/sbin/sendmail -t -i` directly? You can test that unknown user message my trying to replicate the session using `telnet` – Tom Mar 09 '12 at 11:51
  • No smtp relay used (if would've been simple but google has a very restricted emails quota per hour/day). – Nicolas Mar 09 '12 at 14:27

2 Answers2

0

Your mail server configured to receive mail for ourdomain.com locally, that's why it rejects emails for users who are on the server you forwarding emails to. Check /etc/mail/local-host-names file and remove ourdomain.com if it's here.

Dmitry Alexeyev
  • 386
  • 1
  • 5
0

This is a question that frequently appears in SF. This happens because your machine thinks it should deliver mail locally instead of delivering it to Gmail. For a solution to this see for example this answer in a previous similar question at SF.

adamo
  • 6,867
  • 3
  • 29
  • 58
  • As Jason said in his comment, I do not have any of the sections you're talking about; are you sure your code is applicable as it is in `sendmail.mc`? – Nicolas Mar 09 '12 at 14:29
  • Yes I am sure. If you are afraid, backup sendmail.mc and just add them to the bottom of the file. Then see if something breaks. If it does (it won't) copy back the previous sendmail.mc! – adamo Mar 09 '12 at 18:24
  • I tried and this is not working, here are several messages from my `mail.log`: `SYSERR(root): buildaddr: no user` || `mailer=relay, pri=34062, relay=[127.0.0.1] [127.0.0.1], dsn=5.3.5, stat=Service unavailable` || `DSN: Service unavailable`. I don't know if any of this would help... – Nicolas Mar 12 '12 at 09:39
  • It means that you have not properly and entirely copied the rule to your file. As the "bat book" says _If a triple is missing the address part (the $:), the following error is produced: 554 5.3.5 buildaddr: no user_ (page 697). – adamo Mar 12 '12 at 11:42