Назад | Перейти на главную страницу

Сообщаете sendmail аутентификации?

Я сижу здесь несколько часов, пытаясь заставить sendmail отправлять электронные письма через внешний SMTP-сервер. Я подошел очень близко, но теперь я полностью застрял. Похоже, что sendmail не отправляет установленную мной информацию для аутентификации. Есть ли какая-то строка конфигурации, которую мне не хватает?

Пожалуйста помоги. :(

Запуск CentOS 5.7

РЕДАКТИРОВАТЬ:

По просьбе, я добавлю сюда кое-что из моего sendmail.

Где я указал использовать информацию об авторизации:

FEATURE(authinfo',hash -o /etc/mail/auth/client-info.db')dnl

/ etc / mail / auth / client-info:

AuthInfo:in.mailjet.com "U:myusername" "P:mypassword" "M:PLAIN"

Попытка отправить электронное письмо:

# sendmail -AM -t -v
to:myemail@gmail.com
from:root@mydomain.com
.
myemail@gmail.com... Connecting to in6.mailjet.com. via relay...
220 in6.mailjet.com ESMTP Mailjet
>>> EHLO mydomain.com
250-in6.mailjet.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO mydomain.com
250-in6.mailjet.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
>>> MAIL From:<root@mydomain.com> SIZE=37
250 2.1.0 Ok
>>> RCPT To:<myemail@gmail.com>
>>> DATA
554 5.7.1 <myemail@gmail.com>: Relay access denied
554 5.5.1 Error: no valid recipients
>>> RSET
250 2.0.0 Ok
/root/dead.letter... Saved message in /root/dead.letter
Closing connection to in6.mailjet.com.
>>> QUIT
221 2.0.0 Bye

Я была такая же проблема. Наконец сделал это с несколькими конфигурациями.

/etc/mail/sendmail.mc
    define('SMART_HOST','smtp.yourdomain.com')dnl
    define('confAUTH_OPTIONS','A')dnl
    FEATURE('authinfo','hash -o /etc/mail/authinfo.db')dnl
    MASQUERADE_AS('yourdomain.com')dnl
    FEATURE(masquerade_envelope)dnl
    FEATURE(masquerade_entire_domain)dnl
    MASQUERADE_DOMAIN('yourdomain.com.')dnl
    FEATURE('relay_based_on_MX')dnl
    FEATURE('genericstable')dnl
    GENERICS_DOMAIN('localhost.localdomain')dnl

/etc/mail/authinfo (660 permissions)
    Authinfo:yourdomain.com "U:yoursmtpuserid" "P:yourpassword" "M:PLAIN"
    Authinfo: "U:yoursmtpuserid" "P:yourpassword" "M:PLAIN"

>makemap hash /etc/mail/authinfo < /etc/mail/authinfo

/etc/mail/access (660 permissions)
    connect:localhost.localdomain RELAY
    connect:localhost RELAY
    connect:127.0.0.1 RELAY

>makemap hash /etc/mail/access < /etc/mail/access


/etc/genericstable
    root youruseremail@yourdomain.com

>makemap hash /etc/mail/genericstable < /etc/mail/genericstable


/etc/named.conf
    options{
          listen-on port 53 {127.0.0.1;};
    };

>cp -f /etc/named.conf /var/named/chroot/etc/

/etc/resolve.conf
    nameserver  127.0.0.1
    nameserver  youriplocal
    domain      localdomain

>chkconfig -> named on
          -> saslauthd on
          -> sendmail on

>service named restart
>service saslauthd restart
>service sendmail restart

Чтобы проверить это, вы можете выполнить:

sendmail -Am -t -v кому: адрес электронной почты от: youremail

Надеюсь, это сработает для вас.

Для sendmail я обычно управляю аутентификацией SMTP, добавляя запись в /etc/mail/access. Вот краткий пример вашей настройки:

# /etc/mail/access
# by default we allow relaying from localhost...
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
AuthInfo:in.mailjet.com "U:smmsp" "I:myusername" "P:mypassword" "M:PLAIN"

Сохраните это и перезапустите демон sendmail, /sbin/service sendmail restart.

Вы бежали:

makemap hash client-info < client-info

Если вы не создадите файл client-info.db из текстового с помощью приведенной выше команды, информация, которая там находится, не будет прочитана sendmail

РЕДАКТИРОВАТЬ №1:

Из книги о летучей мыши я скопировал это:

Когда sendmail подключается к другому хосту и этот другой хост предлагает пройти аутентификацию, IP-адрес, имя хоста и домен этого подключенного хоста ищутся в базе данных.

Если IP-адрес, хост или домен не найдены, соединение разрешено, но sendmail не будет пытаться его аутентифицировать. В противном случае информация в соответствующем правом столбце возвращается для использования sendmail.

Вы подключаетесь к in6.mailjet.com, который является MX для in.mailjet.com. Так что, возможно, вам придется изменить строку AuthInfo: на:

AuthInfo:mailjet.com "U:myusername" "P:mypassword" "M:PLAIN"

РЕДАКТИРОВАТЬ № 2:

Похоже, у вас есть небольшая опечатка в объявлении FEATURE (authinfo):

FEATURE(`authinfo', `hash -o /etc/mail/auth/client-info.db')dnl

Удалите -o (необязательно) из функции authinfo и перезапустите / перезагрузите sendmail. Это заставит sendmail отказываться запускаться без доступа к карте / файлу authinfo.

FEATURE(`authinfo',`hash ...')

Повторите отправку вам тестового электронного письма с поиском карты отслеживания (включая отслеживание поиска карты authinfo)

sendmail -d60.5 -AM -t -v

Ищет ли sendmail записи authinfo? [Ответ должен сузить список возможных проблем]

Моя короткая конфигурация в sendmail.mc для SMTP Auth как клиент для mailjet.com:

include(`/etc/mail/sasl/sasl.m4')dnl
define(`SMART_HOST', `[in-v3.mailjet.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl

587, потому что порт 25 заблокирован. STARTTLS и ESMTP теперь автоматически находятся в Sendmail. Перед, libsasl2-modules (в дополнение к необязательному libsasl2-modules-db) и sasl2-bin должен быть установлен. Думает перейти на START =да в / etc / defa ult / saslauthd (в debian)

В доступе:

AuthInfo:mailjet.com "U:5xxxxx" "P:f6xxxxxx" "M:LOGIN PLAIN DIGEST-MD5 CRAM-MD5"

И наконец, беги /usr/share/sendmail/update_auth.

Итак, осталось изменить всего 2 файла sendmail.mc и access. После, конечно, make в /etc/mail затем service sendmail restart.

ps: много туториалов, добавить: 587 после AuthInfo:mailjet.com, это ошибка AMHA. Отладка -d60.5 (другая карта поиска) это мое доказательство.