Здравствуйте.
У меня на сервере стоит Centos, Postfix+dovecot. Все работает отлично.
Хочу написать скрипт, который авторизуется к юзеру info@mydomen.com посредством передачи строки AUTH PLAIN base64format и отправляет письмо.
Интересует именно такое решение без сторонних библиотек.
#!/bin/sh
function checkStatus {
expect=250
if [ $# -eq 3 ] ; then
expect=«${3}»
fi
if [ $1 -ne $expect ] ; then
echo «Error: ${2}»
exit
fi
}
MyHost='hostname'
MailHost='hostname'
MailPort=587
FromAddr='info@${MyHost}'
ToAddr='my@mail.com'
Subject='Hello world'
Message='My message'
exec 3<>/dev/tcp/${MailHost}/${MailPort}
read -u 3 sts line
checkStatus «${sts}» «${line}» 220
echo «HELO ${MyHost}» >&3
#echo «EHLO localhost» >&3
read -u 3 sts line
checkStatus «$sts» «$line»
echo «MAIL FROM: ${FromAddr}» >&3
read -u 3 sts line
checkStatus «$sts» «$line»
echo «RCPT TO: ${ToAddr}» >&3
read -u 3 sts line
checkStatus «$sts» «$line»
echo «DATA» >&3
read -u 3 sts line
checkStatus «$sts» «$line» 354
echo «Subject: ${Subject}» >&3
echo «${Message}» >&3
echo "." >&3
read -u 3 sts line
checkStatus «$sts» «$line»
echo -en «QUIT\r\n» >&3
После запуска скрипта появляется ошибка.
Error: 5.7.1 my@mail.com... Relaying denied. Proper authentication required.
Как научить скрипт авторизовываться?
Обычное подключение через тот же thunderbird проходит отлично.
В master.cf заключено следующее:
biff = no
append_dot_mydomain = no
smtpd_tls_cert_file=/etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file=/etc/pki/dovecot/private/dovecot.pem
smtpd_use_tls=no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = мойдомен.ком
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = мойдомен.ком
mydestination = mail.мойдомен.ком, мойдомен.ком, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
Заранее спасибо за идеи.
Ответ на:
комментарий
от mky
28 февраля 2014 г.
Ответ на:
комментарий
от alex1306
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум postfix sasl dovecot отклоняется входящая почта (2015)
- Форум postfix не передает почту dovecot - need help (2016)
- Форум Postfix отправляет письма сам себе (2010)
- Форум Проблемы с Dovecot (2011)
- Форум не доставляется почта (2010)
- Форум Проблемы с Postfix (2011)
- Форум Не могу подружить postfix и dovecot (2020)
- Форум Postfix принимает почту от неавторизованных пользователей (2016)
- Форум Dovecot + Posfix Debian 8 (2016)
- Форум dovecot2 и перемещение писем в каталог по хедеру (2013)