Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
apt-get install sendmail
$result = mail('yourmail@domain.ru', 'subject', 'message');mail("=?utf-8?B?".base64_encode($to_name)."?= <$to_mail>",
"=?utf-8?B?".base64_encode($topic)."?=",
chunk_split(base64_encode($message)),
"From: =?utf-8?B?".base64_encode($from_name)."?= <$from_mail>\n
Content-Type: text/html; charset=utf-8\n
Content-Transfer-Encoding: base64\n
Content-Disposition: inline\nMIME-Version: 1.0");nano /etc/mail/sendmail.mc
define(`MAIL_HUB', `example.com.')dnl
define(`LOCAL_RELAY', `example.com.')dnl
sendmailconfig
service sendmail restart
echo -e "To: user\nSubject: Test\nTest\n" | sendmail -bm -t -v
>>> MAIL From:<bezumkin@domain.com> SIZE=30 AUTH=bezumkin@domain.com
250 2.1.0 <bezumkin@domain.com>... Sender ok
>>> RCPT To:<admin@domain.com>
>>> DATA
250 2.1.5 <admin@domain.com>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
050 <admin@domain.com>... Connecting to mx.yandex.ru. via relay...
050 220 mxfront31.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
.......
Это оттого, что МТА посмотрит на имя домена, увидит, что это он сам и попытается доставить письмо локально. А юзера такого в системе наверняка не будет, а если и будет — то за почтой он ходит на реальный сервер (в нашем случае — на mail.domain.com, который обслуживает yandex)
То есть, МТА обычно не узнает МХ запись для локального домена и такое письмо не доставит. При этом, письма на другие домены уйдут без проблем.
Он не проверяет для себя самого МХ запись и сам себе доставляет письмо. Но реальная-то почта на другом сервере.
В любом случае, меня не устраивает, что сайт открывается с www, а без www — не открывается.
По умолчанию, МТА на сервере bezumkin.ru просто переложит почту в директорию mail юзера ya на сервере bezumkin.ru (если он там есть).
mydestination — если я не ошибаюсь, это задает те домены с которых MTA будет принимать почту на обработку, если у вас виртуальный хостинг (что я устроил на сервере дома), то без _ALL_ у вас будут проблемы с отправкой почты с других доменов кроме указанных.
The list of domains that are delivered via the $local_transport mail delivery transport. By default this is the Postfix local(8) delivery agent which looks up all recipients in /etc/passwd and /etc/aliases. The SMTP server validates recipient addresses with $local_recipient_maps and rejects non-existent recipients.
Грамотная настройка сервера отправки почты для скриптов PHP, настройка функции mail()