sendmail - sendmail с использованием ретранслятора (Почему это не работает?)

Это типичная локальная переадресация портов, при которой прослушивается :2182на локальном компьютере и перенаправляется полученный трафик на 127.0.0.1:2181на удаленном компьютере. Хотя локальный IP-адрес, к которому выполняется привязка, обычно не указывается (по умолчанию localhost), он может быть указан явно, если вы хотите прослушивать конкретный интерфейс.

Изman ssh:

-L [bind_address:]port:host:hostport

-L [bind_address:]port:remote_socket

-L local_socket:host:hostport

-L local_socket:remote_socket

Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side. This works by allocating a socket to listen to either a TCP port on the local side, optionally bound to the specified bind_address, or to a Unix socket. Whenever a connection is made to the local port or socket, the connection is forwarded over the secure channel, and a connection is made to either host port hostport, or the Unix socket remote_socket, from the remote machine.

Port forwardings can also be specified in the configuration file. Only the superuser can forward privileged ports. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.

0
20.01.2020, 19:45
2 ответа

Ошибка...

"550 5.7.1 Envio nao autorizado - Verifique o MX e/ou SPF do seu dominio" (portuguese)/"550 5.7.1 Unauthorized sending - Check your domain's MX and/or SPF" (english)

... происходит потому, что используемая нами служба SMTP требует, чтобы "отправитель конверта" совпадал с фактическим "отправителем".

Чтобы решить эту проблему, нам нужно создать универсальную стабильную базу данных для сопоставления входного адреса отправителя с желаемым адресом.

В нашем случае создайте файл "/etc/mail/genericstable" с записью root my_user@my_domain.com.brи добавьте запись FEATURE(genericstable', hash -o /etc/mail/genericstable.db')dnlв файл "/etc/mail/sendmail.mc"..

Для лучшего понимания ниже приведена полная процедура.


Sendmail -Установка и настройка

Выполните следующие действия, чтобы обновить и установить зависимости...

yum -y update
yum -y install sendmail-cf
yum -y install m4
yum -y install cyrus-sasl-plain

Создать файл авторизации...

read -r -d '' FILE_CONTENT << 'HEREDOC'
BEGIN
AuthInfo:smtp.my_domain.com.br "U:root" "I:my_user@my_domain.com.br" "P:my_password"

END
HEREDOC
echo -n "${FILE_CONTENT:6:-3}" > "/etc/mail/authinfo"

Создание «универсальной» базы данных для сопоставления входного адреса отправителя с желаемым адресом («отправителя в конверте» ).

Создайте файл "genericstable"...

read -r -d '' FILE_CONTENT << 'HEREDOC'
BEGIN
root           my_user@my_domain.com.br

END
HEREDOC
echo -n "${FILE_CONTENT:6:-3}" > "/etc/mail/genericstable"

Настройте Sendmail с помощью «SMART _HOST».

Добавьте следующие строки конфигурации в файл конфигурации «sendmail.mc» непосредственно перед строкой «MAILER (smtp )dnl»…

vi /etc/mail/sendmail.mc

Содержание...

define(`SMART_HOST', `smtp.my_domain.com.br')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash -o /etc/mail/authinfo/smtp-auth.db')dnl
MASQUERADE_AS(my_domain.com.br)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(my_domain.com.br)dnl
FEATURE(`genericstable',`hash -o /etc/mail/genericstable.db')dnl

Re -собрать конфигурацию sendmail...

make -C /etc/mail

Включить и запустить службу sendmail...

systemctl enable sendmail.service
systemctl restart sendmail.service

Проверьте свою конфигурацию

read -r -d '' EMAIL_CONTENT << 'HEREDOC'
BEGIN
From: my_user@my_domain.com.br
To: recipient@recipient_domain.com
Subject: Fail2ban test

Fail2ban test

END
HEREDOC
echo -n "${EMAIL_CONTENT:6:-3}" | sendmail -Am -d60.5 -v recipient@recipient_domain.com

[Ссылки. :http://blog.achinthagunasekara.com/2015/08/how-to-configure-sendmail-to-work-with.html, https://access.redhat.com/discussions/2959431, https://docs.cloud.oracle.com/iaas/Content/Email/Reference/sendmail.htm, https://serverfault.com/a/574118/276753, https://serverfault.com/a/839476/276753, https://superuser.com/a/1448009/195840, https://tecadmin.net/sendmail-to-relay-emails-through-gmail-stmp/, https://www.bonusbits.com/wiki/HowTo:Configure_SendMail_to_Use_SMTP_Relay, https://www.sitepoint.com/community/t/email-mx-records-vs-spf-records/7947]


Дополнительный вопрос/Плюс:Зачем использовать Sendmail с ретрансляцией?

The biggest problem with sendmail is that a lot of spammers like to use it to blast out emails without needing a domain name, so it gets rejected frequently. If you have a SMTP you can relay through that will help matters a bit.

[См.:https://support.nagios.com/forum/viewtopic.php?f=7&t=28246]

0
28.01.2020, 02:38
  1. mc files ожидает `x' кавычки [исправлено в исправленной версии вопроса]

    1. Вы внедрили стандартную рекомендацию запретить отправку «простого текста» (незашифрованного )пароля по незашифрованным SMTP-соединениям [флаг pв confAUTH_OPTIONS].

    2. Ваш смарт-хост предлагает только аутентификацию открытым текстом [см. строки AUTHв ответе EHLO] , но он не предлагает обновление до зашифрованного соединения [нет STARTTLSв ответе EHLO].

    3. По сути, ваша конфигурация запрещает отправлять незашифрованный пароль по незашифрованному SMTP-соединению, но ваш смарт-хост не предлагает другого варианта.
1
28.01.2020, 02:38

Теги

Похожие вопросы