CheckForLocalConformity — yes
В LocalNetworks я прописал все сети, с которых могут отправляться письма. В том числе и IP адрес самого сервера в форме: <IP сервера> 255.255.255.0
На этой же машине у меня работает программа, которой нужно отправлять письма. Для отправки письма она формирует текстовый файл в папке eserv/mail/out:
For: admin@mydomain.ru
Date: Tue, 30 Mar 2010 09:14:50 +0400
From: admin <admin@mydomain.ru>
Reply-To: admin <admin@mydomain.ru>
X-Priority: 3 (Normal)
Message-ID: <9358892@mydomain.ru>
To: admin@mydomain.ru
Subject: my subject
Mime-Version: 1.0
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: 8bit
<текст письма>
.
пока CheckForLocalConformity был No, все работало. но после замыны на yes письма, сформированные таким образом, перестали доставляться, а на адрес отправителя — admin@mydomain.ru стало приходить сообщение — от провайдера —
Mailer-Daemon@smtp.aaanet.ru
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
admin@mydomain.ru
SMTP error from remote mail server after MAIL FROM:<admin@mydomain.ru>:
host mydomain.ru [ip моего сервера]: 550 relaying from non local adresses is denied
Добавление [IP адрес SMTP-сервера провайдера 255.255.255.0] в список LocalNetworks проблему не решает — та же ситуация.
Алгоритм такой: на проверяемый IP накладывается маска по И, результат сравнивается с образцом.
P.S. Если программка должна отправлять письма на внутренние адреса, то логичнее складывать её письма в mail\spool и обеспечить регулярный просмотр спула тоссером. Например, периодически чекать какой-нибудь ящик.
правильно ли это?