Рейтинг:0

не может отправлять электронные письма из сценария powershell на почтовый сервер postfix/dovect

флаг in

Обновление: работает при отправке на домен, который обрабатывает сервер. Поскольку это сервер общего хостинга, он содержит несколько доменов. Например, domain1.com и domain2.com. Если я укажу, что получателем будет [email protected], я получу электронное письмо

Прошла неделя безуспешных гуглов и просмотров в serverfault. Итак, вот мой последний шанс исправить это.

У меня есть сценарий powershell, который отправляет электронное письмо некоторым получателям после завершения задания резервного копирования.Он отлично работает с использованием smtp-сервера, такого как smtp2go.com. Однако мне нужно заставить его работать, используя postfix/dovecot, размещенный в digitalocean.

Вот сценарий:

########## ИЗМЕНИТЬ ##########
$from = "[email protected]"
$to = "получатель@домен.com"
$subject = "Тест"
################################
$SMTPServer = "mail2.loche.com.ar"
$SMTPClient = Новый объект Net.Mail.SmtpClient($SmtpServer) 
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("[email protected]", "пароль")
$mailMessage = New-Object System.Net.Mail.MailMessage($from, $to)
$mailMessage.subject = $subject
$mailMessage.isBodyHTML = $true
$mailMessage.body = $тело

#Добавлено убрать проверку проверки сертификата, если это необходимо
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {возврат $true}

$SMTPClient.Send($mailMessage)

Сервер резервного копирования НЕ находится в той же сети, что и сервер postfix. На самом деле сервер postfix находится в digitalocean, и у меня есть много серверов резервного копирования от многих клиентов, где мне нужно использовать одни и те же учетные данные для отслеживания результатов резервного копирования.

Ошибка, которую я получаю:

18 июня 11:22:17 loche postfix/submission/smtpd[1537904]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 554 5.7.1 <[email protected]>: доступ к ретрансляции запрещен; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<computername>

Я разрешил в mynetworks = 0.0.0.0, но это действовало как открытый ретранслятор, и, конечно, это никому не нужно.

постконф -н

postconf: предупреждение: /etc/postfix/master.cf: неопределенный параметр: mua_sender_restrictions
postconf: предупреждение: /etc/postfix/master.cf: неопределенный параметр: mua_client_restrictions
postconf: предупреждение: /etc/postfix/master.cf: неопределенный параметр: mua_helo_restrictions
postconf: предупреждение: /etc/postfix/master.cf: неопределенный параметр: mua_sender_restrictions
postconf: предупреждение: /etc/postfix/master.cf: неопределенный параметр: mua_client_restrictions
postconf: предупреждение: /etc/postfix/master.cf: неопределенный параметр: mua_helo_restrictions
postconf: предупреждение: /etc/postfix/main.cf: неопределенный параметр: virtual_mailbox_limit_maps
alias_database = хэш:/и т.д./псевдонимы
alias_maps = хеш:/и т.д./псевдонимы
сломанный_sasl_auth_clients = да
каталог_команд = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
dovecot_destination_recipient_limit = 1
header_checks = регулярное выражение:/etc/postfix/header_checks
html_directory = нет
inet_interfaces = все
inet_protocols = все
mail_owner = постфикс
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 30720000
milter_default_action = принять
мой пункт назначения = локальный хост, локальный хост.локальный домен
имя хоста = loche.com.ar
мои сети = 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = $smtpd_milters
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $tvir_my_networks
каталог_очередей = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = постдроп
smtp_tls_security_level = может
smtpd_milters = инет:127.0.0.1:8891
smtpd_recipient_restrictions = Permit_MyNetworks, Permit_Sasl_Authenticated, reject_unauth_destination, Permit_auth_Destination
smtpd_relay_restrictions = Permit_MyNetworks, Permit_Sasl_аутентифицированный, reject_unauth_destination
smtpd_sasl_auth_enable = да
smtpd_sasl_authenticated_header = да
smtpd_sasl_path = частный/авторизация
smtpd_sasl_type = голубятня
smtpd_tls_chain_files = /etc/letsencrypt/live/mail.loche.com.ar/privkey.pem, /etc/letsencrypt/live/mail.loche.com.ar/fullchain.pem
smtpd_use_tls = да
tls_server_sni_maps = хеш:/etc/postfix/vmail_ssl.map
unknown_local_recipient_reject_code = 550
виртуальный_алиас_домен =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_gid_maps = статический: 5000
virtual_mailbox_base = /home/vmail
виртуальный_почтовый_домен = прокси:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
виртуальный_транспорт = голубятня
виртуальные_uid_maps = статические: 5000
postconf: предупреждение: /etc/postfix/main.cf: неиспользуемый параметр: virtual_create_maildirsize=yes
postconf: предупреждение: /etc/postfix/main.cf: неиспользуемый параметр: virtual_maildir_extended=yes

master.cf

#
# Конфигурационный файл главного процесса Postfix. Для получения подробной информации о формате
# файла, см. справочную страницу master(5) (command: "man 5 master").
#
# Не забудьте выполнить "постфиксную перезагрузку" после редактирования этого файла.
#
# ================================================ ==========================
# тип сервиса private unpriv chroot wakeup maxproc command + args
# (да) (да) (да) (никогда) (100)
# ================================================ ==========================
smtp inet n - n - - smtpd -o content_filter=spamassassin
#smtp inet n - n - 1 постскрин
#smtpd pass - - n - - smtpd
#dnsblog unix - - n - 0
#tlsproxy unix - - n - 0 tlsproxy
отправка inet n - n - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=шифровать
  -o smtpd_sasl_auth_enable=да
  -o smtpd_reject_unlisted_recipient=нет
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination
  -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
smtps inet n - n - - smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=да
  -o smtpd_sasl_auth_enable=да
  -o smtpd_reject_unlisted_recipient=нет
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,отклонить
  -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
#628 инет n - n - - qmqpd
пикап unix n - n 60 1 пикап
очистка unix n - n - 0 очистка
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix --n 1000? 1 тлсмгр
переписать unix--n--тривиально-переписать
отказ unix - - n - 0 отказ
отложить unix - - n - 0 отказов
трассировка unix - - n - 0 отказов
проверить unix - - n - 1 проверить
прошить unix n - n 1000? 0 флеш
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
реле unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
ошибка unix - - n - - ошибка
повторите попытку unix - - n - - ошибка
отбросить unix - - n - - отбросить
локальный unix - n n - - локальный
виртуальный unix - n n - - виртуальный
lmtp unix - - n - - lmtp
наковальня unix - - n - 1 наковальня
архив unix - - n - 1 архив
#
# ================================================ ====================
# Интерфейсы к программному обеспечению, отличному от Postfix. Обязательно изучите инструкцию
# страниц программного обеспечения, отличного от Postfix, чтобы узнать, какие параметры ему нужны.
#
# Многие из следующих сервисов используют доставку Postfix pipe(8)
# агент. См. справочную страницу pipe(8) для получения информации о ${recipient}
# и другие параметры конверта сообщения.
# ================================================ ====================
#
# почтовая рассылка. Подробности смотрите в файле Postfix MAILDROP_README.
# Также укажите в main.cf: maildrop_destination_recipient_limit=1
#
#maildrop unix - n n - - канал
# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ================================================ ====================
#
# Последние версии Cyrus могут использовать существующую запись "lmtp" master.cf.
#
# Указываем в cyrus.conf:
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Укажите в main.cf одно или несколько из следующего:
# mailbox_transport = lmtp:inet:localhost
# виртуальный_транспорт = lmtp:inet:localhost
#
# ================================================ ====================
#
# Cyrus 2.1.5 (Амос Гуо)
# Также указать в main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - труба
# user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${отправитель} -m ${расширение} ${пользователь}
#
# ================================================ ====================
#
# Старый пример доставки через Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
#
# ================================================ ====================
#
# Подробности конфигурации смотрите в файле Postfix UUCP_README.
#
#uucp unix - n n - - канал
# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ================================================ ====================
#
# Другие внешние способы доставки.
#
#ifmail unix - n n - - канал
# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#
#bsmtp unix - n n - - канал
# флаги=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
#
#scalemail-backend unix - n n - 2 канала
# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
# ${nexthop} ${пользователь} ${расширение}
#
#mailman unix - n n - - труба
# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
# ${nexthop} ${пользователь}
dovecot unix - n n - - труба
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${отправитель} -d ${получатель}

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${отправитель} ${получатель}

почта.лог

18 июня 10:42:28 loche postfix/smtpd[1515999]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 554 5.7.1 <[email protected]>: доступ к ретрансляции запрещен; from=<backup@loc>
18 июня 10:42:28 loche postfix/smtpd[1515999]: потеря соединения после RCPT от unknown[x.x.x.x]
18 июня 10:42:28 loche postfix/smtpd[1515999]: отключиться от неизвестного[x.x.x.x] ehlo=1 mail=1 rcpt=0/1 command=2/3

Дайте мне знать, если вам нужна дополнительная информация.

Заранее спасибо! Даниэль

Michael Hampton avatar
флаг cz
Хм. Не похоже, что вы установили порт 587 в своем коде. Это единственная потенциальная проблема, которую я вижу на данный момент.
Daniel Grunblatt avatar
флаг in
Я также пробовал использовать этот скрипт: Send-MailMessage — to от âsubject "testing456" âbody "это безопасный тест" âsmtpserver -port 587 -UseSsl -Credential (Get-Credential). все тот же ответ.
Michael Hampton avatar
флаг cz
Эти записи журнала Postfix не соответствуют такому тесту.
Daniel Grunblatt avatar
флаг in
это журнал при отправке с помощью этого скрипта: 18 июня 14:59:38 loche postfix/submission/smtpd[1606260]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 554 5.7.1 : Доступ к передаче закрыт; от= к= прото=ESMTP helo=
Michael Hampton avatar
флаг cz
Теперь похоже, что ваш скрипт просто не пытается войти в систему.
Daniel Grunblatt avatar
флаг in
что, если postfix не распознает, как этот скрипт отправляет учетные данные? у вас есть скрипт, использующий какой-либо язык, чтобы вызвать электронное письмо?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.