Делаю файл mail.txt
To: <xxx@mail.ru>
From: <xxx@xxx.xx>
Subject: 111
Mime-Version: 1.0
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: 8bit
0000
000000
00000000
.Запускаю команду
cat mail.txt | sendmail -vtВ ответ получаем:
<xxx@mail.ru>... Connecting to [127.0.0.1] via relay...
220 localhost.my.domain ESMTP Sendmail 8.13.8/8.13.8; Sun, 9 Dec 2007 21:46:13 GMT
>>> EHLO localhost.my.domain250-localhost.my.domain Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> MAIL From:<root@localhost.my.domain> SIZE=165250 2.1.0 <root@localhost.my.domain>... Sender ok
>>> RCPT To:<xxx@mail.ru>
>>> DATA250 2.1.5 <xxx@mail.ru>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .250 2.0.0 lB9LkD6a011639 Message accepted for delivery
<xxx@mail.ru>... Sent (lB9LkD6a011639 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT221 2.0.0 localhost.my.domain closing connection
Т.е. sendmail даже и не пытается соединиться с "удаленным" mail.ru.
/etc/resolv.conf прописан правильно. ping mail.ru работает.
Как заставить sendmail отсылать письма во "внешний мир"?
>250 2.0.0 lB9LkD6a011639 Message accepted for delivery
><xxx@mail.ru>... Sent (lB9LkD6a011639 Message accepted for delivery)
>...
>Т.е. sendmail даже и не пытается соединиться с "удаленным" mail.ru.
>И с чего Вы это взяли (Вы по-аглицки шпрехаете?)?
Если письмо не доходит -
См. /var/log/maillog
>[оверквотинг удален]
>><xxx@mail.ru>... Sent (lB9LkD6a011639 Message accepted for delivery)
>>
>
>...
>>Т.е. sendmail даже и не пытается соединиться с "удаленным" mail.ru.
>>
>
>И с чего Вы это взяли (Вы по-аглицки шпрехаете?)?
>Если письмо не доходит -
>См. /var/log/maillogХмм... Это взлял с того, что надпись 127.0.0.1 говорила про localhost. Разве не должен появляться IP адрес mail.ru?!
Хотя, похоже, ошибся. Вот сообщения /var/log/maillog
Dec 10 13:03:35 localhost sendmail[1560]: lBAD3YEF001560: from=root, size=170, class=0, nrcpts=1, msgid=<200712101303.lBAD3YEF001560@localhost.my.domain>, relay=root@localhost
Dec 10 13:03:41 localhost sm-mta[1561]: lBAD3ZA1001561: from=<root@localhost.my.domain>, size=419, class=0, nrcpts=1, msgid=<200712101303.lBAD3YEF001560@localhost.my.domain>, proto=ESMTP, daemon=IPv4, relay=localhost [127.0.0.1]
Dec 10 13:03:41 localhost sendmail[1560]: lBAD3YEF001560: to=<borzih@mail.ru>, ctladdr=root (0/0), delay=00:00:07, xdelay=00:00:06, mailer=relay, pri=30170, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (lBAD3ZA1001561 Message accepted for delivery)
Dec 10 13:03:49 localhost sm-mta[1563]: lBAD3ZA1001561: to=<borzih@mail.ru>, ctladdr=<root@localhost.my.domain> (0/0), delay=00:00:09, xdelay=00:00:08, mailer=esmtp, pri=30419, relay=mxs.mail.ru. [194.67.23.20], dsn=5.0.0, stat=Service unavailable
Dec 10 13:03:49 localhost sm-mta[1563]: lBAD3ZA1001561: lBAD3nA1001563: DSN: Service unavailable
Dec 10 13:03:50 localhost sm-mta[1563]: lBAD3nA1001563: to=<root@localhost.my.domain>, delay=00:00:01, xdelay=00:00:00, mailer=local, pri=31443, relay=local, dsn=2.0.0, stat=SentИ что это значит? "relay=mxs.mail.ru. [194.67.23.20], dsn=5.0.0, stat=Service unavailable"?
>[оверквотинг удален]
>
>Dec 10 13:03:35 localhost sendmail[1560]: lBAD3YEF001560: from=root, size=170, class=0, nrcpts=1, msgid=<200712101303.lBAD3YEF001560@localhost.my.domain>, relay=root@localhost
>Dec 10 13:03:41 localhost sm-mta[1561]: lBAD3ZA1001561: from=<root@localhost.my.domain>, size=419, class=0, nrcpts=1, msgid=<200712101303.lBAD3YEF001560@localhost.my.domain>, proto=ESMTP, daemon=IPv4, relay=localhost [127.0.0.1]
>Dec 10 13:03:41 localhost sendmail[1560]: lBAD3YEF001560: to=<borzih@mail.ru>, ctladdr=root (0/0), delay=00:00:07, xdelay=00:00:06, mailer=relay, pri=30170, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (lBAD3ZA1001561 Message accepted for delivery)
>Dec 10 13:03:49 localhost sm-mta[1563]: lBAD3ZA1001561: to=<borzih@mail.ru>, ctladdr=<root@localhost.my.domain> (0/0), delay=00:00:09, xdelay=00:00:08, mailer=esmtp, pri=30419, relay=mxs.mail.ru. [194.67.23.20], dsn=5.0.0, stat=Service unavailable
>Dec 10 13:03:49 localhost sm-mta[1563]: lBAD3ZA1001561: lBAD3nA1001563: DSN: Service unavailable
>Dec 10 13:03:50 localhost sm-mta[1563]: lBAD3nA1001563: to=<root@localhost.my.domain>, delay=00:00:01, xdelay=00:00:00, mailer=local, pri=31443, relay=local, dsn=2.0.0, stat=Sent
>
>
>И что это значит? "relay=mxs.mail.ru. [194.67.23.20], dsn=5.0.0, stat=Service unavailable"?Ну для начала я бы почтовик настроил...
Чтобы не было никаких localhost'ов, т.е.
from=<root@localhost.my.domain>
<200712101303.lBAD3YEF001560@localhost.my.domain>
должны быть нормальные домены.
Многие почтовики за опен-релей принимают...
Далее
файл сообщения должен в конце содеожать
.\n (т.е. перевод строки, можно даже лишнюю строку вставить, хуже не будет), т.е.
----------------
To: <xxx@mail.ru>
From: <xxx@xxx.ru>
Subject: 111
Mime-Version: 1.0
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: 8bit0000
000000
00000000.
-------------
Интересно то, что если то же самое сообщение послать на почту yandex.ru, то в логе /var/logs/maillog получаем несколько иную ошибку
Dec 10 16:21:55 localhost sendmail[718]: lBAGLtZ5000718: from=root, size=173, class=0, nrcpts=1, msgid=<200712101621.lBAGLtZ5000718@localhost.my.domain>, relay=root@localhost
Dec 10 16:21:55 localhost sm-mta[719]: lBAGLthO000719: from=<root@localhost.my.domain>, size=422, class=0, nrcpts=1, msgid=<200712101621.lBAGLtZ5000718@localhost.my.domain>, proto=ESMTP, daemon=IPv4, relay=localhost [127.0.0.1]
Dec 10 16:21:55 localhost sendmail[718]: lBAGLtZ5000718: to=<teledar@yandex.ru>, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30173, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (lBAGLthO000719 Message accepted for delivery)
Dec 10 16:22:15 localhost sm-mta[721]: lBAGLthO000719: to=<teledar@yandex.ru>, ctladdr=<root@localhost.my.domain> (0/0), delay=00:00:20, xdelay=00:00:20, mailer=esmtp, pri=30422, relay=mx1.yandex.ru. [213.180.200.57], dsn=5.6.0, stat=Data format error
Dec 10 16:22:15 localhost sm-mta[721]: lBAGLthO000719: lBAGMFhO000721: DSN: Data format error
Dec 10 16:22:16 localhost sm-mta[721]: lBAGMFhO000721: to=<root@localhost.my.domain>, delay=00:00:01, xdelay=00:00:01, mailer=local, pri=31446, relay=local, dsn=2.0.0, stat=Sentт.е. ошибку "relay=mx1.yandex.ru. [213.180.200.57], dsn=5.6.0, stat=Data format error". Что же это значит?
А зачем вы делаете mail.txt?
>А зачем вы делаете mail.txt?Это файлик, в котором хранится отправляемое сообщение. Чтобы каждый раз не набирать с клавиатуры...
>>А зачем вы делаете mail.txt?
>
>Это файлик, в котором хранится отправляемое сообщение. Чтобы каждый раз не набирать
>с клавиатуры...Зачем ему генерировать заголовок, если можно просто
mail -s 'Тема' адрес < файл
>>>А зачем вы делаете mail.txt?
>>
>>Это файлик, в котором хранится отправляемое сообщение. Чтобы каждый раз не набирать
>>с клавиатуры...
>
>Зачем ему генерировать заголовок, если можно просто
>mail -s 'Тема' адрес < файлМожно попробовать... А как задать адрес отправителя? Я не думаю, что mail.ru или yandex.ru станут принимать письмо от root@localhost.my.domain (именно такой email фигурирует в лог файлах!)
>[оверквотинг удален]
>>>
>>>Это файлик, в котором хранится отправляемое сообщение. Чтобы каждый раз не набирать
>>>с клавиатуры...
>>
>>Зачем ему генерировать заголовок, если можно просто
>>mail -s 'Тема' адрес < файл
>
>Можно попробовать... А как задать адрес отправителя? Я не думаю, что mail.ru
>или yandex.ru станут принимать письмо от root@localhost.my.domain (именно такой email фигурирует
>в лог файлах!)Я ж так и сказал...
из конфига сендмыла# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#Dj$w.Foo.COMЧто-нить говорит?
Блин, ну так выполните команду под пользователем, а не рутом.
>Блин, ну так выполните команду под пользователем, а не рутом.Хочу пояснить некоторые вещи.
1) На этой машине нет никакого другого пользователя, кроме root (есть вирутальные пользователи nobody, daemon и т.п.)
2) Этой машине не соответсветствует никакой реальный URL адрес (домен). Есть лишь некоторый IP адрес.
3) В настройках sendmail (файлы /etc/mail/mailer.conf, /etc/mail/freebsd.mc, /etc/mail/freebsd.cf ...) я ничего не трогал и ничего не понимаю.Есть ли возможность отсылать с этой машины электронную почту на @mail.ru, @yandex.ru и т.п.? Какой минимальный набор изменений надо сделать, чтобы это работало?
Строка sendmail_enable="YES" в файле /etc/rc.conf имеется. Больше я ничего не трогал.
>>Блин, ну так выполните команду под пользователем, а не рутом.
>
>Хочу пояснить некоторые вещи.
>1) На этой машине нет никакого другого пользователя, кроме root (есть вирутальные
>пользователи nobody, daemon и т.п.)
>2) Этой машине не соответсветствует никакой реальный URL адрес (домен). Есть лишь
>некоторый IP адрес.Спам рассылка??????
Никакой нормальный почтовик не будет принимать такую почту!
Мой почтовик - точно не принимает!
Будет домен - будем принимать!>3) В настройках sendmail (файлы /etc/mail/mailer.conf, /etc/mail/freebsd.mc, /etc/mail/freebsd.cf ...) я ничего не
>трогал и ничего не понимаю.
>
>Есть ли возможность отсылать с этой машины электронную почту на @mail.ru, @yandex.ru
>и т.п.? Какой минимальный набор изменений надо сделать, чтобы это работало?
>
>
>Строка sendmail_enable="YES" в файле /etc/rc.conf имеется. Больше я ничего не трогал.
>[оверквотинг удален]
>Будет домен - будем принимать!
>
>>3) В настройках sendmail (файлы /etc/mail/mailer.conf, /etc/mail/freebsd.mc, /etc/mail/freebsd.cf ...) я ничего не
>>трогал и ничего не понимаю.
>>
>>Есть ли возможность отсылать с этой машины электронную почту на @mail.ru, @yandex.ru
>>и т.п.? Какой минимальный набор изменений надо сделать, чтобы это работало?
>>
>>
>>Строка sendmail_enable="YES" в файле /etc/rc.conf имеется. Больше я ничего не трогал.Ну что у всех в голове только один спам! Во-первых, отсылка писем нужна всего лишь на два email адреса, на мои адреса! Раз в сутки на сервере запускается крон, проверяет состояние параментров сервера и если есть превышения - шлет мне на email предупредение.
А домена не потому, что все мои домены живут на другом сервере. А это вспомогательный сервер, только под базу данных MySQL.
Так задача решаемы? Что по минимуму надо изменить в настройках sendmail, чтобы почта отсылалась?
cat 123|mail -sStatistics -r name@your_real_mail_domain.ru you@mail.rucat 123|sendmail -fname@your_real_mail_domain.ru you@mail.ru
>cat 123|mail -sStatistics -r name@your_real_mail_domain.ru you@mail.ru
>
>cat 123|sendmail -fname@your_real_mail_domain.ru you@mail.ruОтлично! Ключика -f у sendmail мне действительно не хватало! И не надо было трогать никакие конфигурационные файлы! Ура, работает!
>>cat 123|mail -sStatistics -r name@your_real_mail_domain.ru you@mail.ru
>>
>>cat 123|sendmail -fname@your_real_mail_domain.ru you@mail.ru
> Отлично! Ключика -f у sendmail мне действительно не хватало! И не надо
> было трогать никакие конфигурационные файлы! Ура, работает!Пдскажите, пожалуйста, в какие файлы в итоге нужно вносить изменения?
В postfix это делается через generic maps. В sendmail есть что-то типа address rewriting. Читать доки.PS. Над GloryS поржал знатно. Спам рассылка, гыгы.
Теперь, чтобы после бурных обсуждений в голове небыло каши, всё по порядку:
#создаём файл msg с текстомTo: <to@mail.ru>
From: <from@gmail.com>
Subject: 'TeMa'
Mime-Version: 1.0
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: 8bitText of message!
.#далее вводим команду
cat msg |sendmail -ffrom2827@gmail.com -vt to@mail.ru
#и почта пошла...