Sendmail wont send to same domain

I'm using sendmail on my webserver, which so far is working fine. However, when I send emails to the same domain I'm sending them from, they never get delivered. I temporarily changed the email information in my application to another domain, at which point it send to my domain mail accounts no problem.

// does not work
$from = '[email protected]'
$to = '[email protected]'
// works fine
$from = '[email protected]'
$to = '[email protected]'

Furthermore, the server this is run on is a separate server to the one that has the mail accounts & domain set up. (+ I'm on linux)

sendmail is using the default configuration.

I've tried testing with the following command, however I seem to get a bunch of unverified sender errors. When I do this with my gmail account, it goes through OK.

echo -e "To: [email protected]\nSubject: Test\nTest\n" | sendmail -bm -t -v

Edit

It turns out that it just requires the email address its coming from to exist. Is there any way to bypass this?


As you've already discovered yourself, it's because the sending address is invalid.

Most mail servers will check a domain is valid when accepting an email, but usually won't try and verify the actual address. (Some mail servers will pretend an address exists if you ask them, even if it doesn't to stop automated systems building up a list of valid addresses)

However, your own mail server knows that noreply@ is not a valid address and so will reject the email.

The easiest way round this is to set up noreply@ as a valid address and just discard emails sent to it. On UNIX/Linux you can usually just point the address at an entry in aliases that gets delivered to |/dev/null.


Without any further information, I'm guessing your local smtp daemon is misconfigured and is delivering mail to @mydomain.com locally instead of forwarding them upstream. Add your full mailserver config to your post if you want a more detailed answer.