Sendmail и отправка писем через внешний SMTP.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Sendmail и отправка писем через внешний SMTP.

Непрочитанное сообщение TITANius » 2009-12-07 15:40:00

Подскажите как настроить sendmail чтобы ссобщения которые генерируются локально (PHP mail()) отправлялись на email через внешний smtp.
Инет от beeline, 25 порт закрыт. Пишут: "Рекомендуем Вам воспользоваться следующим сервером почты - smtp.svitonline.com."

тестировал телнетом:

Код: Выделить всё

telnet smtp.svitonline.com 25
Trying 212.109.32.5...
Connected to smtp.svitonline.com.
Escape character is '^]'.
220 relay03.kiev.sovam.com ESMTP ready
helo stellar
250 relay03.kiev.sovam.com Hello stellar [188.163.10.108]
mail from:xxx@xxx.xx
250 OK
rcpt to:xxx@xxx.xx
250 Accepted
data
354 Enter message, ending with "." on a line by itself
from:xxx@xxx.xx
to:xxx@xxx.xx
test passed
.
250 OK id=1NHcW9-0009t6-8B
quit
221 relay03.kiev.sovam.com closing connection
Connection closed by foreign host.
Письмо пришло.

подправил конфиг router.mc

Код: Выделить всё

divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.37.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl       your permission.
dnl FEATURE(relay_based_on_MX)

dnl DNS based black hole lists
dnl --------------------------------
dnl DNS based black hole lists come and go on a regular basis
dnl so this file will not serve as a database of the available servers.
dnl For that, visit
dnl http://www.google.com/Top/Computers/Internet/E-mail/Spam/Blacklists/

dnl Uncomment to activate Realtime Blackhole List
dnl information available at http://www.mail-abuse.com/
dnl NOTE: This is a subscription service as of July 31, 2001
dnl FEATURE(dnsbl)
dnl Alternatively, you can provide your own server and rejection message:
dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', ``"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}'')

dnl Dialup users should uncomment and define this appropriately
define(`SMART_HOST', `smtp.svitonline.com')

dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')

dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')

define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)
MAILER(smtp)
make all
make install
make reboot

Затем при отсылке письма через mail() в PHP в логах пишется:

Код: Выделить всё

Dec  6 16:05:20 router sendmail[1541]: nB6E5KOk001541: to=mail@xx.xxx, ctladdr=www (80/80), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30043, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (nB6E5KjO001551 Message accepted for delivery)
Dec  6 16:05:21 router sm-mta[1553]: STARTTLS=client, relay=smtp.svitonline.com., version=TLSv1/SSLv3, verify=FAIL, cipher=AES256-SHA, bits=256/256
Dec  6 16:05:21 router sm-mta[1553]: nB6E5KjO001551: to=<mail@xx.xxx>, ctladdr=<www@router> (80/80), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30318, relay=smtp.svitonline.com. [212.109.32.5], dsn=5.1.1, stat=User  unknown
Dec  6 16:05:21 router sm-mta[1553]: nB6E5KjO001551: nB6E5LjO001553: DSN: User unknown
Dec  6 16:05:21 router sm-mta[1553]: nB6E5LjO001553: to=<www@router>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31342, relay=local, dsn=2.0.0, stat=Sent
Наверное что-то недонастроено, подскажите что? Почему "stat=User unknown"?
Заранее благодарствую.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: Sendmail и отправка писем через внешний SMTP.

Непрочитанное сообщение TITANius » 2009-12-08 12:58:16

Неужели никто не работает с sendmail'ом ? :(

shlash
мл. сержант
Сообщения: 82
Зарегистрирован: 2007-10-21 13:34:58
Откуда: С.-Петербург
Контактная информация:

Re: Sendmail и отправка писем через внешний SMTP.

Непрочитанное сообщение shlash » 2009-12-08 15:24:40

Нет, не работаем. Очень поверхностно.
Наблюдаются определённые странности.

version=TLSv1/SSLv3, verify=FAIL, cipher=AES256-SHA
Почему фэйл? К чему он относится? Недостоверный сертификат?

stat=User unknown
Не пытается ли он, на удалённой стороне, представиться в качестве клиента с проверкой login/password ?

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: Sendmail и отправка писем через внешний SMTP.

Непрочитанное сообщение TITANius » 2009-12-09 17:23:10

shlash писал(а):version=TLSv1/SSLv3, verify=FAIL, cipher=AES256-SHA
Почему фэйл? К чему он относится? Недостоверный сертификат?
а хз, с отправкой через внешний СМТП работаю впервые.
shlash писал(а):stat=User unknown
Не пытается ли он, на удалённой стороне, представиться в качестве клиента с проверкой login/password ?
нет логинов и паролей, через телнет по крайней мере не спрашивало.

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: Sendmail и отправка писем через внешний SMTP.

Непрочитанное сообщение TITANius » 2009-12-10 17:28:04

Решил задачу.
Проблема была в "ctladdr=<www@router>", на смтп проверка на валидный имейл, пришлось прибегнуть к маскарадингу,
В итоге получился следующий код:

Код: Выделить всё

divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.37.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl       your permission.
dnl FEATURE(relay_based_on_MX)

dnl DNS based black hole lists
dnl --------------------------------
dnl DNS based black hole lists come and go on a regular basis
dnl so this file will not serve as a database of the available servers.
dnl For that, visit
dnl http://www.google.com/Top/Computers/Internet/E-mail/Spam/Blacklists/

dnl Uncomment to activate Realtime Blackhole List
dnl information available at http://www.mail-abuse.com/
dnl NOTE: This is a subscription service as of July 31, 2001
dnl FEATURE(dnsbl)
dnl Alternatively, you can provide your own server and rejection message:
dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', ``"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}'')

dnl Dialup users should uncomment and define this appropriately
define(`SMART_HOST', `smtp.svitonline.com')
MASQUERADE_AS(`домен.ру')
FEATURE(masquerade_envelope)

dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')

dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')

define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)
MAILER(smtp)
make all install restart

Ну и не забыть открыть 25 порт в фаерволе.