Friday, January 24, 2014

Sender address rejected: Domain not found - outgoing mail settings with Postfix

Environment:

A staging server called "tst.myserver.com", with no DNS record pointing to it.
Trying to send email from there to myself (me@my-mail.com)

Problem:

$ echo foo | mail -s bar me@my-mail.com
$ tail /var/log/mail.log
Jan 24 18:30:24 tst postfix/smtp[26306]: 46D8FC2584: to=<me@my-mail>, relay=mail.my-mail[1.2.3.4]:25, delay=0.61, delays=0.02/0.01/0.45/0.13, dsn=5.1.8, status=bounced (host my-mail[1.2.3.4] said: 554 5.1.8 <me@tst.myserver.com>: Sender address rejected: Domain not found (in reply to RCPT TO command))

Explanation:

$ cat /etc/hostname
tst.myserver.com
This is the FQDN (fully qualified domain name), and Postfix appends it to the local user name.

What we want

We'd like Postfix to append only the myserver.com and not the tst.myserver.com

A solution

(figured out by reading http://www.postfix.org/ADDRESS_REWRITING_README.html)
# vi /etc/postfix/main.cf
(add this line:)
masquerade_domains = myserver.com
Restart Postfix
# postfix stop && postfix start

Saturday, January 4, 2014

Could not open input file: /cygdrive/c/PHP/phpunit (PHP under Cygwin)

The problem:

$ /cygdrive/c/PHP/php.exe /cygdrive/c/PHP/phpunit
Could not open input file: /cygdrive/c/PHP/phpunit

Environment:

MS Windows
PHP
Cygwin

Explanation:

While started in Cygwin, php.exe will be run in Windows environment, which does not know how to translate /cygdrive/c to C:\

Solution:

Use a wrapper script https://gist.github.com/tivnet/8256140
(Originally published by aefxx here)