Puncte:0

nu pot trimite e-mailuri de la un script powershell la serverul de e-mail postfix/dovect

drapel in

Actualizare: funcționează atunci când trimiteți către un domeniu pe care îl gestionează serverul. Deoarece acesta este un server de găzduire partajat, acesta conține mai multe domenii. De exemplu, domain1.com și domain2.com. Dacă specific ca destinatarul să fie [email protected], primesc e-mailul

A trecut o săptămână de căutare pe Google și de navigare în serverfault fără succes. Deci, iată ultima mea șansă de a remedia asta.

Am un script powershell care trimite un e-mail unor destinatari când munca de rezervă este terminată.Funcționează bine folosind un server smtp, cum ar fi smtp2go.com. Cu toate acestea, trebuie să o fac să funcționeze folosind un postfix/dovecot găzduit în digitalocean.

Iată scenariul:

########## A SCHIMBA ##########
$from = "[email protected]"
$to = "[email protected]"
$subject = "Test"
###############################
$SMTPServer = "mail2.loche.com.ar"
$SMTPClient = Nou-obiect Net.Mail.SmtpClient($SmtpServer) 
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = Obiect nou System.Net.NetworkCredential("[email protected]", "parolă")
$mailMessage = Obiect nou System.Net.Mail.MailMessage($de la, $la)
$mailMessage.subject = $subiect
$mailMessage.isBodyHTML = $true
$mailMessage.body = $corp

#Adăugat pentru a elimina verificarea validării certificatului, dacă este necesar
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { return $true }

$SMTPClient.Send($mailMessage)

Serverul de rezervă NU ESTE în aceeași rețea cu serverul Postfix. De fapt, serverul postfix este în digitalocean și am multe servere de rezervă de la mulți clienți unde trebuie să folosesc aceleași acreditări pentru a monitoriza rezultatele copiei de rezervă.

Eroarea pe care o primesc este:

18 iunie 11:22:17 loche postfix/submission/smtpd[1537904]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 554 5.7.1 <[email protected]>: Relay access denied; de la=<[email protected]> la=<[email protected]> proto=ESMTP helo=<numecomputer>

Am permis în mynetworks = 0.0.0.0, dar a acționat ca un releu deschis și, desigur, nimeni nu vrea asta.

postconf -n

postconf: avertisment: /etc/postfix/master.cf: parametru nedefinit: mua_sender_restrictions
postconf: avertisment: /etc/postfix/master.cf: parametru nedefinit: mua_client_restrictions
postconf: avertisment: /etc/postfix/master.cf: parametru nedefinit: mua_helo_restrictions
postconf: avertisment: /etc/postfix/master.cf: parametru nedefinit: mua_sender_restrictions
postconf: avertisment: /etc/postfix/master.cf: parametru nedefinit: mua_client_restrictions
postconf: avertisment: /etc/postfix/master.cf: parametru nedefinit: mua_helo_restrictions
postconf: avertisment: /etc/postfix/main.cf: parametru nedefinit: virtual_mailbox_limit_maps
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = da
director_comandă = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
directorul_date = /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 = regexp:/etc/postfix/header_checks
html_directory = nr
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
director_manpage = /usr/share/man
limită_dimensiunea mesajului = 30720000
milter_default_action = accept
mydestination = localhost, localhost.localdomain
myhostname = loche.com.ar
rețelele mele = 127.0.0.0/8
calea_newaliases = /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_canonical_maps $recipient_maps_maps_recipient_maps_recipientwork
director_codă = /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 = postdrop
smtp_tls_security_level = mai
smtpd_milters = inet: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_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = da
smtpd_sasl_authenticated_header = da
smtpd_sasl_path = private/auth
smtpd_sasl_type = porumbel
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 = da
tls_server_sni_maps = hash:/etc/postfix/vmail_ssl.map
unknown_local_recipient_reject_code = 550
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_transport = porumbel
virtual_uid_maps = static:5000
postconf: avertisment: /etc/postfix/main.cf: parametru neutilizat: virtual_create_maildirsize=yes
postconf: avertisment: /etc/postfix/main.cf: parametru neutilizat: virtual_maildir_extended=yes

maestru.cf

#
# Fișierul de configurare a procesului principal Postfix. Pentru detalii despre format
# din fișier, consultați pagina de manual master(5) (comandă: „man 5 master”).
#
# Nu uitați să executați „postfix reload” după editarea acestui fișier.
#
# =================================================== ==========================
# tip de serviciu private unpriv chroot wakeup maxproc command + args
# (da) (da) (da) (niciodată) (100)
# =================================================== ==========================
smtp inet n - n - - smtpd -o content_filter=spamassassin
#smtp inet n - n - 1 postscreen
#smtpd trece - - n - - smtpd
#dnsblog unix - - n - 0 dnsblog
#tlsproxy unix - - n - 0 tlsproxy
depunerea inet n - n - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=criptare
  -o smtpd_sasl_auth_enable=da
  -o smtpd_reject_unlisted_recipient=nu
  -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=ORIGINARE
smtps inet n - n - - smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=da
  -o smtpd_sasl_auth_enable=da
  -o smtpd_reject_unlisted_recipient=nu
  -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
  -o milter_macro_daemon_name=ORIGINARE
#628 inet n - n - - qmqpd
pickup unix n - n 60 1 pickup
curatare unix n - n - 0 curatare
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rescrie unix - - n - - trivial-rescriere
bounce unix - - n - 0 bounce
amână unix - - n - 0 săritură
trace unix - - n - 0 săritură
verifica unix - - n - 1 verifica
spălați Unix n - n 1000? 0 culoare
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
releu unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
eroare unix - - n - - eroare
reîncercați Unix - - n - - eroare
arunca unix - - n - - arunca
unix local - n n - - local
unix virtual - n n - - virtual
lmtp unix - - n - - lmtp
nicovală unix - - n - 1 nicovală
scache unix - - n - 1 scache
#
# =================================================== ====================
# Interfețe cu software non-Postfix. Asigurați-vă că examinați manualul
# de pagini ale software-ului non-Postfix pentru a afla ce opțiuni dorește.
#
# Multe dintre următoarele servicii utilizează livrarea Postfix pipe(8).
# agent. Consultați pagina de manual pipe(8) pentru informații despre ${recipient}
# și alte opțiuni pentru plicuri pentru mesaje.
# =================================================== ====================
#
# maildrop. Consultați fișierul Postfix MAILDROP_README pentru detalii.
# Specificați, de asemenea, în main.cf: maildrop_destination_recipient_limit=1
#
#maildrop unix - n n - - pipe
# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# =================================================== ====================
#
# Versiunile recente de Cyrus pot folosi intrarea existentă „lmtp” master.cf.
#
# Specificați în cyrus.conf:
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specificați în main.cf una sau mai multe dintre următoarele:
# mailbox_transport = lmtp:inet:localhost
# virtual_transport = lmtp:inet:localhost
#
# =================================================== ====================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Specificați și în main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - pipe
# user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# =================================================== ====================
#
# Exemplu vechi de livrare prin Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extensie} ${user}
#
# =================================================== ====================
#
# Consultați fișierul Postfix UUCP_README pentru detalii de configurare.
#
#uucp unix - n n - - pipe
# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($destinatar)
#
# =================================================== ====================
#
# Alte metode de livrare externă.
#
#ifmail unix - n n - - pipe
# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($destinatar)
#
#bsmtp unix - n n - - pipe
# flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $destinatar
#
#scaleemail-backend unix - n n - 2 conducte
# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
# ${nexthop} ${user} ${extension}
#
#mailman unix - n n - - pipe
# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
# ${nexthop} ${user}
porumbel unix - n n - - pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${destinatar}

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${destinatar}

mail.log

Jun 18 10:42:28 loche postfix/smtpd[1515999]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 554 5.7.1 <[email protected]>: Relay access denied; de la=<backup@loc>
18 iunie 10:42:28 loche postfix/smtpd[1515999]: conexiune pierdută după RCPT de la necunoscut[x.x.x.x]
18 iunie 10:42:28 loche postfix/smtpd[1515999]: deconectare de la unknown[x.x.x.x] ehlo=1 mail=1 rcpt=0/1 comenzi=2/3

Anunță-mă dacă mai ai nevoie de informații.

Mulțumesc anticipat! Daniel

Michael Hampton avatar
drapel cz
Hmm. Nu pare că ai setat portul la 587 în codul tău. Aceasta este singura problemă potențială pe care o pot vedea în acest moment.
Daniel Grunblatt avatar
drapel in
Am încercat și cu acest script: Send-MailMessage âto âde la âsubiectul "testare456" âbody "acesta este un test sigur" âsmtpserver -port 587 -UseSsl -Credential (Obține-Credential). tot acelasi raspuns.
Michael Hampton avatar
drapel cz
Acele intrări de jurnal Postfix nu corespund unui astfel de test.
Daniel Grunblatt avatar
drapel in
acesta este jurnalul la trimiterea cu acel script: 18 iunie 14:59:38 loche postfix/submission/smtpd[1606260]: NOQUEUE: reject: RCPT from unknown[x.x.x.x]: 554 5.7.1 : Acces Releu refuzat; de la= la= proto=ESMTP helo=
Michael Hampton avatar
drapel cz
Acum se pare că scriptul tău nu încearcă să se autentifice.
Daniel Grunblatt avatar
drapel in
ce se întâmplă dacă Postfix nu recunoaște modul în care acest script trimite acreditările? ai vreun script care folosește vreo limbă pentru a declanșa un e-mail?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.